Programming/Python

생성자와 소멸자

scii 2013. 5. 2. 00:45


일반적으로클래스는 생성자(constructor)와 소멸자(destructor)라 불리는 메소드를 정의할 수 있게 되어 있다. 


생성자는 인스턴스 객체가 생성될 때 초기화를 위해서 자동적으로 불려지는 초기화 함수를 말하고,

소멸자는 인스턴스 객체가 사용이 끝나서 메모리에서 해제될 때 자원 해제를 위해서 자동으로 호출되는 함수를 말한다.


파이썬 클래스에서는 생성자와 소멸자를 위해 특별한 이름을 준비해 놓고 있다.

생성자 함수 이름은 __init__ 

소멸자 함수 이름은 __del__


※     일반적으로 파이썬에서는 어떤 이름 앞뒤로 _(언더라인)이 두 개씩 붙어 있으면, 예약어(Reserved Words) 이다.

클래스 메소드로써는 미리 어떤 기능이 정의된 경우를 의미한다.



생성자는 대부분 인스턴스 멤버를 생성하고 값을 초기화하는 데 주로 사용된다.

소멸자는 실제로 많이 활용되지는 않는다. 왜냐하면, 대부분의 메모리나 기타 자원 관리가 자동으로 되기 때문에 특별히 신경 쓰지 않아도 인스턴스가 소멸하면서 자원이 원상 복귀되기 때문이다.