Singleton
: 하나의 instance를 생성하는 design pattern
📌 사용하는 이유?
=> 생성자 앞에 private 접근 제한자를 붙인다.
private
를 붙여 외부에서 필드값을 변경하지 못하도록 막는다.getInstance( )
를 선언하고, 자신의 객체를 리턴해준다.public class Singleton {
private static Singleton singleton;
static {
singleton = new Singleton();
} // static initializer
private Singleton() {
;;
} // default constructor
static Singleton getInstance() {
return Singleton.singleton;
} // getInstance
} // end class
⬇️⬇️⬇️
public class SingletonEx {
public static void main(String[] args) {
Singleton obj1 = Singleton.getInstance();
Singleton obj2 = Singleton.getInstance();
System.out.println(obj1);
System.out.println(obj2);
if(obj1 == obj2) {
System.out.println("같은 Singleton 객체 입니다.");
} else {
System.out.println("다른 Singleton 객체 입니다.");
} // if-else
} // main
} // end class