Java/6. 클래스 (Class)
Day 8 : 싱글톤 (Singleton)
pancakemaker
2021. 10. 28. 13:04
싱글톤
package sec10.exam04_singleton;
public class Singleton {
//정적 필드
private static Singleton singleton = new Singleton(); //객체 생성
//생성자
private Singleton() {} //private:외부에서 Singleton 생성자 호출 막음
//정적 메소드
static Singleton getInstnace() {
return singleton; //singleton만 리턴함
}
}
싱글톤 객체
package sec10.exam04_singleton;
public class SingletonExample {
public static void main(String[] args) {
/*
Singleton obj1 = new Singleton();
Singleton obj 2= new Singleton();
Singleton 클래스에서 생성자가 private이므로 참조할 수 없음
인스턴스 생성 불가
*/
Singleton obj1 = Singleton.getInstnace();
Singleton obj2 = Singleton.getInstnace();
if(obj1 == obj2) {
System.out.println("같은 Singleton 객체 입니다."); //getInstance() 메소드는 singleton 만 return 하도록 선언되었음
} else {
System.out.println("다른 Singleton 객체 입니다");
}
}
}
같은 Singleton 객체 입니다.