더북(TheBook)

45.8 IDisposable 인터페이스 사용하기

이번에는 닷넷에 내장된 IDisposable 인터페이스를 사용해 보겠습니다. 이를 상속하는 클래스는 Dispose() 메서드를 구현해야 하는데요. 이 메서드는 해당 클래스의 개체를 다 사용한 후 마지막으로 호출해서 정리하는 역할을 합니다. 다음 내용을 입력한 후 실행해 보세요.

IDisposable 인터페이스 사용: IDisposableDemo.cs

using System;

class IDisposableDemo
{
    static void Main()
    {
        Console.WriteLine("[1] 열기");
        using (var t = new Toilet())
        {
            //특정 프로세스를 종료하면 자동으로 닫기 수행
            Console.WriteLine("[2] 사용");
        }
    }
}

public class Toilet : IDisposable
{
    public void Dispose()
    {
        Console.WriteLine("[3] 닫기");
    }
}

실행 결과

[1] 열기
[2] 사용
[3] 닫기

using 문은 IDisposable 인터페이스를 구현하는 개체를 올바르게 사용할 수 있도록 도와줍니다. using 문으로 개체를 묶어 생성하면 해당 using 문이 종료되면서 자동으로 Dispose() 메서드를 호출해서 정상 종료하도록 처리합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.