public class Ex03 {
	public static void main(String[] args) {
    	// Test3 tt - new Test3(); 컴파일 오류. 생성자가 private 이므로 외부에서 생성불가
        
        Test3 ob1 = Test3.getInstance();
        Test3 ob2 = Test3.getInstance();
        
        System.out.println(ob1);
        System.out.println(ob2);
        System.out.println(ob1 == ob2); 
    }
}
class Test3 {
	private static Test3 tt = null;
    
    private int a = 10;
    // 생성자가 private이면 외부에서 객체 생성불가
    private Test3(){
    }
    
    public static Test3 getInstance(){
    	if(tt == null) {
        	tt = new Test3();
        }
        return tt;
    }
    
    public void sub() {
    	System.out.println(a+":"+a);
    }
}

 

소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다.

출처 : https://ko.wikipedia.org/wiki/%EC%8B%B1%EA%B8%80%ED%84%B4_%ED%8C%A8%ED%84%B4

 

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0719_Ex01_Java API : Math  (0) 2021.07.19
0716_Ex04_Calendar  (0) 2021.07.19
0716_Ex02_ final  (0) 2021.07.19
0716_Ex01 : 초기화 블럭  (0) 2021.07.18
0715_Ex09_this  (0) 2021.07.18

+ Recent posts