소멸자(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
Posted by scii
: