[C#] 싱글턴 패턴 예제와 사용 이유

싱글턴 패턴을 한 마디로 요약하면 객체를 오직 하나만 생성하는 패턴입니다. 해당 객체의 인스턴스를 스태틱으로 생성하고, 생성된 하나의 인스턴스를 어디에서든 참조할 수 있도록 접근하는 패턴이라 할 수 있습니다.

싱글턴 패턴 사용 이유

싱글턴 패턴을 사용하는 이유는 첫 번째, 한 번의 글로벌 인스턴스를 할당하여 메모리 낭비를 방지하기 위함입니다. 두 번째, 프로그램을 사용하는 과정에서 유일하게 참조하거나, 또는 해도 문제없는 인스턴스에 대해 접근을 쉽게 하여 자료를 조회하거나 수정할 수 있도록 지원합니다.

싱글턴 패턴 예제

싱글턴 패턴 예제와 사용 이유

C# 싱글턴 패턴 예제 소스입니다. 스태틱으로 선언한 Singleton 클래스에 대해 최초 하나의 인스턴스를 생성하고, 추후 Instance 프로퍼티로 호출 시 해당 인스턴스를 가져오도록 하는 예제입니다.

  • 싱글턴 패턴을 정적으로 선언하여 static 키워드를 사용합니다.
  • 인스턴스 생성 시, lock 문장으로 단독 액세스 권한을 갖도록 합니다.
public sealed class Singleton
{
    private static Singleton instance = null;
    private static readonly object padlock = new object();

    public static Singleton Instance
    {
        get
        {
            lock (padlock)
            {
                if (instance == null)
                {
                    instance = new Singleton();
                }
                return instance;
            }
        }
    }

    public void NullToInstance()
    {
        lock (padlock)
        {
            instance = null;
        }
    }
}

댓글