소멸자(Destructor)
Programming/C++ 2012. 5. 20. 14:44 |객체생성시 반드시 호출되는 것이 생성자라면, 객체소멸시 반드시 호출되는 것은 소멸자이다.
* 클래스의 이름 앞에 '~'가 붙은 형태의 이름을 갖는다.
* 반환형이 선언되어 있지 않으며, 실제로 반환하지 않는다.
* 매개변수는 void형으로 선언되어야 하기 때문에 오버로딩도, 디폴트 값 설정도 불가능하다.
ex) ~AAA(void) {...}
소멸자는 객체소멸 과정에서 자동으로 호출이 된다. 그리고 프로그래머가 직접 소멸자를 정의하지 않으면, 디폴트 생성자와 마찬가지로 아무런 일도 하지 않는 디폴트 소멸자가 자동으로 삽입된다.
class AAA
{
// empty class
};
class AAA
{
public:
AAA() {}
~AAA() {}
};
위의 2개의 클래스는 100% 동일한 클래스이다.
소멸자는 대표적으로 말하자면 클래스내에서 힙영역에 생성한 메모리공간을 없애는데 사용이 된다.
'Programming > C++' 카테고리의 다른 글
생성자 & 소멸자를 이용한 예제 (0) | 2012.05.21 |
---|---|
생성자를 이용한 예제. (0) | 2012.05.21 |
private 생성자 (0) | 2012.05.20 |
디폴트 생성자(Default Constructor) (0) | 2012.05.20 |
이니셜라이저(Initializer) (0) | 2012.05.19 |