728x90
반응형
생성자 메소드
- 객체를 생성할 때, 자동으로 호출되어 실행되는 메소드
- 객체가 생성될 때, 가장 먼저 호출되는 메소드
- 일반적으로, 생성자 메소드에 멤버변수를 초기화 하는 코드를 작성한다.
소멸자 메소드
- 생성 되었던 객체의 소멸될 때 자동으로 호출되어 실행되는 메소드
- 객체의 레퍼런스 카운트가 0이 될 때 자동으로 호출
- 클래스가 소멸되기 전에 수행되어야 할 코드를 작성한다.
아래의 예제 코드 참고!
class MyCass:
def __init__(self, value):
self.Value = value
print("Class is created. Value = ", value)
def __del__(self):
print("Class is deleted.")
if __name__ == '__main__':
mMyClass = MyClass(10)
del mMyClass
- 2번 째 줄의 __init__가 생성자 메소드 이다.
- 5번 째 줄의 __del__가 소멸자 메소드 이다.
↪ 생성자와 소멸자 메소드는 객체의 생성과 소멸과 관계되므로, 매개변수로 self가 필수이다.
↪ init과 del의 앞 뒤는 언더바(_)가 2개 씩 붙어 있는 것이다.
- 마지막 줄의 del 명령어를 사용하면 객체의 소멸자 메소드가 실행되면서, 객체가 소멸된다.
728x90
'Python > 구조 공부하기' 카테고리의 다른 글
[Python] 6. 다중 상속 및 이름 충돌 (2) | 2021.10.26 |
---|---|
[Python] 5. 상속과 다형성 (0) | 2021.10.26 |
[Python] 4. private 멤버 (0) | 2021.10.26 |
[Python] 3. 정적 메소드 (0) | 2021.10.13 |
[Python] 1. 클래스와 인스턴스 (0) | 2021.10.05 |