728x90
반응형
SMALL
Class
클래스는 사용자 정의 데이터형, 개념과 속성과 기능 모델링 (변수 + 메소드; 동작을 수행하는 함수)
|
객체
고유 속성, class에서 정의한 행위 수행, 메모리 경제적 사용, class 타입, 객체가 메모리에 할당되어 사용될 때를 인스턴스라 함 (속성 + 행위)
인스턴스
class 객체, 컴퓨터 프로세스, 물리적인 장소 위치시킨다. `self.속성'에 할당 했던 변수들은 모두 인스턴스 속성에 해당한다.
class 선언
자료형 선언 —> 객체 생성 —> 멤버 호출
클래스 내장함수
생성자 : 초기값 지정, 내부적으로 초기화
소멸자 : 객체를 소멸하는 기능
오버로딩
하나의 class 내부에서 method 명칭은 똑같고, 인자를 다르게하는 형태를 허용한다.
연산자 : operating 키워드와 연산자를 겹쳐서 함수명으로 사용, 삼항연산 불가
class 생성
class Custom:
def __init__(self):
.......
생성자
f = Custom() # 생성자 (constructor)
초기화자
class Custom: # 객체의 불변성을 확립 (유효성검증 수행)
def __init__(self, name):
self.name = name
c = custom("name")
print(c.name)
--> name
비공개 속성
class Custom: # 객체의 불변성을 확립 (유효성검증 수행)
def __init__(self, name):
self.name = name
def name(self):
return self.__name
c = custom("name")
c._name = "123"
c.name
--> AttributeError: 'Custom' object has no attribute '__name'
class Custom: # class 비공개 속성
__private_attr = 1
...
Custom.__private_attr
--> AttributeError: type object 'Flight' has no attribute '__private_attr'
728x90
반응형
LIST
'Programming > Python' 카테고리의 다른 글
09. 모듈 (Module) (0) | 2021.12.08 |
---|---|
08. 클래스 상속 (Class inheritance) (0) | 2021.12.08 |
06. 함수 (Function) (0) | 2021.12.08 |
05. 제어문 (If, For, While) (0) | 2021.12.08 |
04. 표준입출력 (0) | 2021.12.08 |