Singleton

방세현·2023년 4월 22일
0

디자인패턴

목록 보기
5/9

Singleton

Singleton패턴은 인스턴스를 단 하나만 만들기 위해 사용되는 패턴입니다. 코드상에서 사람들이 인스턴스가 하나만 존재한다는 것을 프로그램 상에서 표현하고 싶을 때 주로 사용됩니다.

참고로 위의 클래스 다이어그램에서 -는 private, +는 public이다.

public class Singleton {
    private static Singleton singleton = new Singleton();
    private Singleton() {
        System.out.println("인스턴스를 생성했습니다.");
    }
    public static Singleton getInstance() {
        return singleton;
    }
}

여기서 눈여겨 볼 것은 위에서 생성자를 private로 선언하여 외부에서는 인스턴스를 생성하지 못하도록 한다는 점이다. 또 getInstance()는 static Factory Method의 일종이다.

위의 방법을 사용할 때 발생하는 많은 문제들을 해결하기 위해 enum으로 구현하는 방법도 있다.

0개의 댓글