싱글턴 패턴 : 클래스 다이어그램에 클래스가 하나 뿐인 패턴

싱글턴 패턴은 특정 클래스에 객체 인스턴스가 하나만 만들어지도록 해 주는 패턴

싱글턴 패턴을 사용하면 전역 변수를 사용할 때와 마찬가지로 객체 인스턴스를 어디서든지 액세스 할 수 있게 만들 수 있으며 ,전역 변수를 쓸 때처럼 여러 단점을 감수할 필요도 없음

전역 변수를 쓰면 안되나요? → 전역 변수에 객체를 대입하면 애플리케이션이 시작될 때 객체가 생성됨. 객체가 자원을 많이 차지할 때 객체를 한 번도 쓰지 않는다면 자원만 잡아먹는 쓸데없는 객체가 되고 만다. 그러나 싱글턴 패턴을 사용하면 필요할 때만 객체를 만들 수 있음

정적 클래스 변수와 메소드를 잘 처리할 수 있고 접근 변경자도 잘 다룰 줄 안다면 어렵지 않음!

고전적인 싱글턴 패턴

public class Singleton {
	private static Singleton uniqueInstance;
    
    // 기타 인스턴스 변수
    
    private Singleton() {}
    
    public static Singleton getInstance() {
    	if(uniqueInstance == null) {
        	uniqueInstance = new Singleton();
        }
        return uniqueInstance;
    }
    
	// 기타 메소드

}

초콜릿 보일러 코드 살펴보기