| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- php
- numpy
- 보안뉴스 한줄요약
- oracle db
- 랜섬웨어
- 보안뉴스 요약
- 카카오프로젝트
- javascript
- 자바스크립트 객체
- 자바스크립트 prototype
- 자바스크립트 기본 문법
- 자바스크립트 element api
- 오라클
- 보안뉴스
- 자바스크립트 jQuery
- 자바스크립트 node
- 파이썬
- 다크웹
- 보안뉴스요약
- 자바스크립트
- Oracle SQL
- python
- 자바스크립트 API
- oracle
- 카카오프로젝트100
- 보안뉴스한줄요약
- ES6
- 깃허브
- 카카오프로젝트 100
- GIT
- Today
- Total
목록Programming (99)
FU11M00N
직접 정의한 클래스의 객체에 • +, - * 와 같은 일반 연산자를 적용하려면 , 객체를 연산 가능한 상태로 만들어야 함 • 연산자 오버로딩을 통해 이를 구현 연산자 오버로딩 • 인스턴스 객체끼리 서로 연산을 할 수 있게 기존에 있는 연산자의 기능을 바꾸어 중복으로 정의하는 것 파이썬에서는 특정 이름의 메소드를 재정의하면 연산 자 중복정의 구현 - 매직 메소드 미리 정의된 수치 연산자 class NumBox: def __init__(self,num): self.num = num n=NumBox(40) print(n + 100) # n+100은 객체 + 100 임 그래서 에러 # 에러 발생 에러발생 class NumBox: def __init__(self,num): self.num = num def..
클래스에서 메서드를 통하여 속성의 값을 가져오거나 저장하는 경우가 있음 • 이 때 값을 가져오는 메서드를 getter() • 값을 저장하는 메서드를 setter() @property 데코레이터를 사용해서 getter, setter를 간단하게 구현 • @progerty 데코레이터 - 값을 가져오는 메소드 @메소드이름.setter 데코레이터 - 값을 저장하는 메소드 class Person(): def __init__(self): self.__age =0 @property def age(self): return self.__age @age.setter def age(self,value): self.__age =value james = Person() james.age = 20 print(james.age)..
- 다형성 같은 모양의 코드가 다른 동작을 하는 것 코드의 양을 줄이고, 여러 객체 타입을 하나의 타입으로 관리가 가능하여 유지 보수에 좋다. 메소드 오버라이딩도 다형성의 한 예 class Person: def __init__(self,name): self.name = name def work(self): print(self.name + "works hard") class Student(Person): def work(self): print(self.name + "studies hard") class Engineer(Person): def work(self): print(self.name + "develope something") student = Student("Dave") developer = Eng..
- 추상 클래스 메소드의 이름만 가지고 있다가 상속받는 클래스에서 메소드 구현을 강제하기 위해 사용 상속을 통해서 자식 클래스에서 인스턴스를 생성해야함 - 추상클래스의 특징 • 자신의 인스턴스를 생성할 수 없음 • 추상 클래스는 오직 상속에서만 사용 • 각각의 독립된 공통적인 기능이 값을 공유하면 안되므로 구현하지 않은 메소드를 사용 - 추상 클래스를 정의할 때 -먼저 추상 클래스를 만들려면 import로 abc 모듈을 가져와야함(abc는 abstract base class의 약자) -from abc import * • 클래스의 ( ) 안에 metaclass=ABCMeta를 지정하고 메소드를 만들 때 위에 @abstractmethod 데코레이터를 붙여서 추상 메소드로 지 정 • 추상 메소드는 상속을 받은..
- 다중 상속 • 여러 개의 클래스로부터 상속받는 경우 파이썬은 다중 상속을 지원하고 부모 클래스에 동일한 메소드나 속성이 있을 때는 왼쪽에서부터 우선권 을 부여 합니다. class 기반 클래스명 1: 코드 class 기반 클래스명 2: 코드 Class 파생 클래스명(기반 클래스명 1, 기반 클래스명 2): 코드 여러 개의 클래스로부터 상속받는 경우 class Person: def greeting(self): print("안녕하세요") class University: def manage_credit(self): print('학점관리') class Undergraduate(Person, University): def study(self): print("공부하기") sunja = Undergraduate()..
- 클래스 상속 • 기존 클래스는 그대로 유지한 채로 기존 클래스에 다른 기능을 추가할 때 사용하는 기능입니다. • 기반(base) 클래스(super class) : 물려주는 클래스 • 파생(derived) 클래스(sub class): 상속을 받아 새롭게 만드는 클래스 - 형식 class 기반 클래스명 : 코드 class 파생 클래스명(기반 클래스명) : 코드 - 예제 1 class Person: def __init__(self): print('Person __init__') self.hello = "안녕하세요" class Student(Person): def __init__(self): print('Person __init__') super().__init__() self.school = "파이썬 학교..
- 문제 # Class Method class Employee: raise_amount = 1.1 # 1. 연봉 인상률 클래스 변수 def __init__(self, first, last, pay): self.first = first self.last = last self.pay = pay def apply_raise(self): self.pay = int(self.pay * self.raise_amount) def full_name(self): return '{} {}'.format(self.first, self.last) def get_pay(self): return '현재 {}의 연봉은 {} 입니다.'.format(self.full_name(), self.pay) # 1. 클래스 메소드 데코레이터를..
- 정적 메소드 • 객체(인스턴스)를 생성하지 않고 클래스를 이용해서 직접 호출할 수 있는 메소드 • 클래스에서 직접 접근할 수 있는 메소드 두가지 -@staticmethod -@classmethod @staticmethod • @staticmethod 데코레이터로 수식 • self 키워드 없이 정의 예제 1 class Calc: @staticmethod def add(a,b): return a+b cal = Calc() print(cal.add(1,2)) @classmethod • @classmethod 데코레이터로 수식 • staticmethod 와 유사하지만 첫번째 매개변수로 클래스 객체가 전달되는 것이 다릅니다. • cls 매개변수 사용 • 모든 인스턴스가 공유하는 클래스 변수와 같은 데이터를 생..