- C#의 디스트럭터는 '파이널라이저'라고 불리며, 가비지 컬렉터가 객체 처리를 완료했다고 판단할 때 실행됩니다. 🗑️
- 파이널라이저의 실행 시점은 개발자가 제어할 수 없으며, 앱 종료 시에도 실행되지 않고 백그라운드 스레드에서 보장 없이 실행됩니다. ⏳
- 파이널라이저를 사용하면 가비지 컬렉션(GC)이 느려지고, GC가 해당 객체를 특별 큐에서 추적해야 하므로 성능 저하를 초래합니다. 🐌
- 대부분의 경우 파이널라이저 사용은 권장되지 않으며, 간단한 리소스 해제에는
IDisposable인터페이스를 사용하는 것이 훨씬 좋습니다. ✅ - 파이널라이저는
Dispose메서드가 호출되지 않은 경우에만 관리되지 않는 리소스를 해제하기 위한 최후의 수단으로만 고려해야 합니다. 🛡️





