[Python] 2. 생성자 메소드와 소멸자 메소드

2021. 10. 6. 20:15Python/구조 공부하기

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 명령어를 사용하면 객체의 소멸자 메소드가 실행되면서, 객체가 소멸된다.

'Python > 구조 공부하기' 카테고리의 다른 글

[Python] 6. 다중 상속 및 이름 충돌  (0) 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