36.1 종료자
종료자(finalizer)라고도 하는 소멸자(destructor)는 닷넷의 가비지 수집기(Garbage Collector, GC)에서 클래스의 인스턴스를 사용한 후 최종 정리할 때 실행되는 클래스에서 가장 늦게 호출하는 메서드입니다.
C#에서는 닷넷 가비지 수집기(GC)가 개체를 소멸할 때 메모리를 해제하는 등 역할을 대신해 주기 때문에 이 책에서는 소멸자에 직접 접근할 일이 없습니다.
다음 내용은 가볍게 읽고 넘어갑니다.
• 자동차 시동을 끄는 것에 비유할 수 있으며, 운전수가 주차하고 시동을 끄는 것이 아니라 주차 요원(GC)이 대신 주차하고 시동을 끄는 것과 의미가 같습니다.
• 소멸자는 클래스 이름과 동일한 메서드로 앞에 물결 기호인 ~(틸드)를 붙여 만듭니다.
• 소멸자도 특별한 형태의 메서드입니다. 소멸자 또한 소멸자 메서드라고도 합니다. 생성자와 달리 매개변수를 받을 수 없습니다.
• 소멸자는 오버로드를 지원하지 않으며 직접 호출할 수도 없습니다.