관리되지 않는 리소스 정리
개체의 범위를 protected로 제한하여 응용 프로그램 사용자가 개체의 Finalize 메서드를 직접 호출하지 못하게 해야 합니다. 또한, 응용 프로그램 코드에서 기본 클래스가 아닌 다른 클래스에 대해 Finalize 메서드를 직접 호출해서는 안 됩니다. 관리되지 않는 리소스를 제대로 삭제하려면 개체에 필요한 코드 정리를 수행하는 public Dispose 또는 Close 메서드를 구현하는 것이 좋습니다. IDisposable 인터페이스는 인터페이스를 구현하는 리소스 클래스에 대해 Dispose 메서드를 제공합니다. 이 메서드는 public 메서드이므로 응용 프로그램 사용자는 Dispose 메서드를 직접 호출하여 관리되지 않는 리소스에 사용되는 메모리를 해제할 수 있습니다. Dispose 메서드를 제대로 구현하면 Finalize 메서드는 Dispose 메서드가 호출되지 않는 경우 리소스를 정리하는 보호 기능이 됩니다. 올바른 구현에 대한 자세한 내용은 Dispose 메서드 구현을 참조하십시오.
단원 내용
Dispose 메서드 구현
관리되지 않는 리소스 해제를 위해 Dispose 메서드를 구현하는 방법을 설명합니다.Finalize 메서드 및 소멸자
가비지 수집기가 개체의 메모리를 자동으로 회수하기 전에 Finalize 메서드 및 소멸자를 통해 해당 개체에서 필요한 정리 작업을 수행하도록 하는 방법에 대해 설명합니다.Finalize 메서드 재정의
Finalize 및 Dispose 메서드가 함께 작동하는 방식을 설명합니다.C# 및 C++의 소멸자 구문
Finalize 메서드에 있는 동일한 기능의 C# 및 C++를 설명합니다.리소스를 캡슐화하는 개체 사용
C# using 문(Visual Basic의 Using)과 같은 Dispose 메서드가 호출되었는지 확인하는 방법을 설명합니다.
참조
- System.IDisposable
관리되지 않은 리소스 해제를 위한 Dispose 메서드를 정의합니다.