1. Class 선언
- 클래스명은 캐멀 표기법으로 한다. 첫 글자는 대문자.
- self : 클래스의 메소드 위치 기본 변수로 항상 정의해야 하지만, 메소드 호출 시에는 없는 것 처럼 사용한다.
- 클래스 변수 : 클래스 내의 함수 밖에 정의된 변수는 클래스 변수가 된다.
- 인스턴스 변수 : ___init__() 함수에서 인스턴스 변수를 선언한다.
2. 데이터 은닉과 이름 장식
- 변수를 은닉하기 위해서는 '__변수명' 양식으로 정의한다.
- 은닉된 인스턴스 변수는 외부에서 접근할 수 없지만, 클래스 변수는 '클래스._클래스__변수명'으로 접근할 수 있다.
3. 상속
- 다중상속과 다형성 지원한다.
- 객체의 클래스타입 확인 방법: 객체.__class__ 또는 type(객체)
- 부모클래스 확인 방법: 클래스명.__bases__
- __main__ : 실행환경 최상단 위치라는 의미
- super() 지시어. 자식 객체에서 부모 객체를 접근하게 해준다. 부모의 메소드를 호출할 때 주로 사용한다.
4. Class 정의 예
class SuperMan(Human, Man): # 다중상속이 가능한다.
__country = 'South Korea' # 클래스 변수. 변수 은닉. Dog._Dog__country 로 호출
def __init__(self, name): # 초기화 메소드. 생성자와 유사
self.name = name
self.tricks = []
def fly(self):
super().fly() # 부모 메소드 호출
print(self.name + ' can fly faster.')
end.
728x90
'Programming Language > Python' 카테고리의 다른 글
Python 모듈 실행시 ModuleNotFoundError 처리 (0) | 2022.03.25 |
---|---|
[Python] pandas - DataFrame Text 출력 (0) | 2022.03.19 |
[Python] 모듈과 패키지 (0) | 2022.03.14 |
[Python] 내장함수 (0) | 2022.03.14 |
[Python] 문자열 포맷 출력 (0) | 2022.03.14 |