C# 및 C++의 소멸자 구문

업데이트: 2007년 11월

C# 또는 C++ 프로그래밍 언어에서는 Object.Finalize 메서드를 호출하거나 재정의할 수 없습니다. C#에서는 소멸자(C# 프로그래밍 가이드)에 설명된 대로, 종료 코드를 작성하는 메커니즘으로 소멸자를 사용합니다.

C++에서는 소멸자 구문을 사용하여 Dispose 메서드를 구현하며, Destructors and Finalizers in Visual C++에 설명된 대로 Finalize 메서드를 구현하는 고유 구문을 제공합니다.

참고:

.NET Framework 2.0 이전 버전에서는 C++가 C#에서와 같이 소멸자 구문을 사용하여 Finalize 메서드를 구현했으며, Dispose 메서드 구현을 위한 특수 구문이 없었습니다. 이전 구문을 사용하는 C++ 코드를 컴파일하려면 /clr:oldSyntax 컴파일러 옵션을 사용합니다.

이 두 가지가 비슷해 보이지만, C# 소멸자와 C++ 소멸자의 의미는 관리되지 않는 C++ 소멸자의 의미와 다릅니다. 관리 코드에서는 C++ 소멸자 의미와 유사한 의미를 지원하지 않습니다.

참고 항목

개념

Finalize 메서드 재정의

참조

Finalize

/clr(공용 언어 런타임 컴파일)

기타 리소스

관리되지 않는 리소스 정리