C# Language생성자 및 종료 자


소개

생성자는 해당 클래스의 인스턴스가 만들어 질 때 호출되는 클래스의 메서드입니다. 주요 책임은 새 객체를 유용하고 일관된 상태로 두는 것입니다.

소멸자 / 종결 자 (Destructors / Finalizers)는 클래스의 인스턴스가 소멸 될 때 호출되는 클래스의 메서드입니다. C #에서는 명시 적으로 작성 / 사용되는 경우는 거의 없습니다.

비고

C #에는 실제로 소멸자가 없지만 C ++ 스타일 소멸자 구문을 사용하는 Finalizers가 있습니다. 소멸자를 지정하면 직접 호출 할 수없는 Object.Finalize() 메서드가 재정의됩니다.

비슷한 구문을 가진 다른 언어와 달리 객체는 범위를 벗어 났을 때 호출 되지 않지만 특정 조건에서 발생하는 가비지 수집기가 실행될 때 호출됩니다. 따라서 특정 순서로 실행되는 것은 아닙니다 .

파이널 라이저는 관리되지 않는 리소스 (마샬 클래스를 통해 얻은 포인터, p / Invoke (시스템 호출) 또는 안전하지 않은 블록에서 사용되는 원시 포인터를 통해받은 포인터) 정리해야합니다. 관리 자원을 정리하려면 IDisposable, Dispose 패턴 및 using 문을 검토하십시오.

(추가 정보 : 언제 소멸자를 만들어야합니까? )

생성자 및 종료 자 관련 예