C#에서 소멸자는 클래스의 특수 메서드이며 클래스 내부에서 개체 또는 클래스 인스턴스를 파괴하는 데 사용됩니다.
클래스 내부에는 소멸자가 하나만 있을 수 있습니다.
다음은 C#에서 소멸자의 속성입니다.
-
소멸자는 매개변수를 사용하지 않습니다.
-
소멸자는 물결표 기호(~)로 시작합니다.
-
소멸자(~)는 구조체에서 정의할 수 없습니다.
-
소멸자를 호출할 수 없습니다. 자동으로 호출됩니다.
-
소멸자는 개체의 기본 클래스에서 암시적으로 Finalize를 호출합니다.
예
class Demo{ ~Demo(){ //Finalizer // cleanup statements... } } class Program{ static void Main(){ Console.ReadLine(); } }
종료자는 개체의 기본 클래스에서 암시적으로 Finalize를 호출합니다. 따라서 종료자에 대한 호출은 암시적으로 다음 코드로 변환됩니다 -
protected override void Finalize(){ try{ // Cleanup statements... } finally{ base.Finalize(); } }
프로그래머는 종료자가 호출되는 시기를 제어할 수 없습니다.
소멸자를 두 개 이상 선언하면 컴파일러에서 오류가 발생합니다.
'Demo'는 이미 '~Demo'라는 구성원을 정의합니다.
class Demo{ ~Demo(){ } ~Demo(){ } } class Program{ static void Main(){ Console.ReadKey(); } }