싱글톤 패턴

Eunjeon_g·2023년 2월 25일
0


단 하나의 객체만 사용하고 싶을 때 싱글톤 패턴을 사용한다.
생성자를 private으로 접근을 제한해 외부에서 new 연산자로 생성자를 호출 할 수 없도록 해야 한다.

패션쇼의 옷 같은 개념이다.
소유권은 디자이너에게 있고, 세상에 하나만 존재한다. 쇼를 3번 진행한다고해서 똑같은 옷을 3개 만드는 것이 아닌 모두 같은 옷을 입고 쇼를 서는 것이다.
//싱글톤 패턴
public class Dress(){
	//드레스는 한 벌만 있고 : static
    //디자이너만 만들 수 있다. : private
	private static Dress dress = new Dress();
    
    //다른 사람이 똑같은 옷을 만들 수 없도록 한다.
    //외부에서 생성자를 만들 수 없게 한다. : private
    private Dress(){ };
    
    //디자이너 외의 사람들이 옷을 볼 수 있는 유일한 접근 : public
    public static Dress showDress(){
    	return dress;
     }
       
}
//dress1,2를 통해 같은 Dress객체를 사용하는지 확인
public class FashionShow {

	public static void main(String[] args) {
		Dress dress1 = Dress.showDress();
		Dress dress2 = Dress.showDress();
        //dress3 : Dress 객체를 생성할 수 없음
        //Dress dress3 = new Dress();
		
		if(dress1 == dress2) {
			System.out.println("같은 드레스 입니다.");
		}else {
			System.out.println("다른 드레스 입니다.");
		}
        //결과 : 같은 드레스 입니다.		
	}

}

0개의 댓글