Programming Language/java
[디자인 패턴] 싱글톤 패턴
limdef
2023. 9. 1. 23:13
싱글톤 패턴 인스턴스를 반드시 1개만 제공하는 패턴으로 유명하여 간단하게 정리해본다.
1. 생성자를 private으로 막는다.
2. static Factory Method 방식의 일환으로 getInstance 메소드를 제공한다.
public class Singleton {
private static Singleton instance;
private Singleton() {
// 에러
}
public static Singleton getInstance() {
// 인스턴스가 생성되지 않았을 경우에만 인스턴스를 생성합니다.
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
정적 변수에 private static Singleton instace = new Singleton(); 으로 선언하면 컴파일 과정(?)에 생성되어
게으른 초기화가 불가능해지기 때문에 위의 코드와 같이 구성하는 것이 좋다.