클래스의 인스턴스가 오직 하나만 생성되어야함을 보장하는 패턴
- 인스턴스가 전역적으로 접근 가능함
- 여러개의 인스턴스가 생성되지 않음
public class Singleton {
private static Singleton instance;
// private 생성자로 외부에서의 인스턴스 생성을 막음
private Singleton() {
}
// 유일한 인스턴스를 반환하는 정적 메서드
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
// 싱글톤의 동작을 테스트하기 위한 메서드
public void doSomething() {
System.out.println("Singleton is doing something.");
}
}