디자인패턴_(5)Singleton 패턴

Dazz_heyDay ·2022년 4월 21일

Singleton 패턴

하나의 인스턴스(객체)만 필요한 경우
인스턴스가 절대도 1개만 있음을 보장하고 싶을 때

예제 클래스

📌Singleton : 인스턴스가 1개만 존재하는 클래스
📌Main : 동작테스트

🌈 Singleton 클래스

✔️인스턴스를 1개 밖에 만들 수 없음
✔️singleton은 static 필드로서 Singleton 클래스의 인스턴스에서 초기화됨.
✔️이 초기화는 Singleton 클래스 로드할때 딱 한 번 실행됨.
✔️Singleton 클래스 의 생성자는 private

public class Singleton{
	private static Singleton s = new Singleton(); //Main 에서 객체 생성없이 Singleton 사용가능 
    
    private Singleton(){
    	System.out.println("인스턴스가 생성됨"); 
        
    
    }
    
    public static Singleton getInstance(){
    	return s;    //항상 Singleton 타입의 s를 반환 
        // Singleton클래스의 유일한 인스턴스를 얻는 메소드 ->static
        
        }
}

🌈 Main 클래스


public class Main{
	public static void main(String[] args){
    	System.out.println("start"); 
        
        Singleton ob1=Singleton.getInstance(); //Singleton 객체 생성없이 만들어짐 ->static 
        Singleton ob2=Singleton.getInstance();
        
        if (ob1==ob2) {
        
        	System.out.println("ob1와 ob2는 같다")
        }  
       else{
       		System.out.println("ob1와 ob2는 다르다")
       
       }
       
       System.out.println("end")
        
    }

}

profile
Why.Not.Now

0개의 댓글