https://docs.python.org/3/tutorial/classes.html
클래스는 데이터와 동작을 묶는 새로운 타입을 정의
- 인스턴스는 임의의 속성을 가질 수 있다.
- 메서드는 첫 번째 인자로 자신(self)을 받는 일반 함수이다.
- 다중 상속을 지원한다.
- 자식 클래스가 부모 메서드를 오버라이드할 수 있고, 필요하면 부모 메서드를 직접 호출할 수 있다.
- 기본적으로 멤버 접근 제한이 없고, 모든 메서드는 가상 메서드처럼 동작한다.
- 파이썬 클래스에는
private/protected/public키워드가 없어서 어떤 속성, 메서드 등 코드가 접근하려 하면 막지 않는다. _name: 내부용이라는 신호지만 여전히 접근 가능__name: 클래스 내부에서만 쓰라는 신호, 이름은 맹글링이 되어_ClassName__name의도만 있으면 여전히 접근/수정이 가능하다.
- 파이썬 클래스에는
- 내장 타입도 상속해 확장할 수 있고, 연산자 오버로딩(산술, 인덱싱 등)도 가능하다.