위키북스 박응용 저 "점프 투 파이썬" 책을 읽고 정리한 내용입니다.
다소 잘못된 내용과 구어적 표현 이 포함되어 있을 수 있습니다.
선언
class Class_name(Parent_class) :
- 괄호 안에 상속받을 부모 클래스 이름을 적는다. 상속받을 클래스가 없으면 안적어도 된다
- 괄호안에 부모클래스가 들어간다는 것에 유의할 것
메소드 선언
def method_name(self, arg1, arg2, ... ) :
- 메소드 선언 명령어는 def이다
- 첫번째 매개변수는 관례적으로
self
를 써준다 - 함수가 아닌 메소드 선언시에는
self
를 잊지 말자
생성자/객체변수 선언
def __init__(self, arg1, arg2, ...) :
self.arg = 123
- 메소드 이름을
__init__
으로 해줘야 생성자로 인식을 한다 - 관례적으로 객체변수는 생성자에서
self.변수 = 값
형식으로 선언을 해서 사용한다 - 생성자 이름이 클래스명이 아닌것에 유의할 것
정적 클래스 변수 선언
arg = 123
Class_name.arg = 456
- 클래스 내부 최상위 인덴트에 변수를 선언해주면 클래스 변수로 선언된다
- 값을 변경할때는 객체로 접근해서 변경하는게 아닌 클래스로 접근하여 변경해야 한다
- 클래스가 아닌 객체에서 값을 변경하면 정적인 특성을 잃는다는 것에 유의할 것
오버라이딩
def parent_method(self, arg1, arg2, ... ) :
- 따로
@override
같은거 할 필요 없이 부모클래스의 메소드를 그대로 가져와서 구현만 새로 해주면 된다