싱글톤 디자인 패턴이란?
- 단 하나의 인스턴스만을 공유(누구나)하도록 하는 프로그래밍 기법
- 외부에서 인스턴스 생성을 하지 못하게 차단하며 클래스 내에서 직접 인스턴스를 생성하여 외부에 리턴함
실제로 활용할 때 문법
class SingletonClass {
// 1. 멤버변수 선언 및 인스턴스 생성 => private static
private static SingletonClass instance = new SingletonClass();
// 2. 기본생성자 정의 => private
private SingletonClass() {}
// 3. Getter 정의 => static
public static SingletonClass getInstance() {
return instance;
}
}
실제로 싱글톤 디자인 패턴의 인스턴스의 주소 값은 모두 100% 동일하다
코딩으로 확인해보자.
SingletonClass sc = SingletonClass.getInstance();
SingletonClass sc2 = SingletonClass.getInstance();
if(sc == sc2) {
System.out.println("두 주소값은 같다");
} else {
System.out.println("두 주소값은 다르다");
}
[결과]
'두 주소값은 같다'