Singleton 디자인 패턴

: 객체를 단 하나만 만드는 디자인 패턴

 

사용 방법!!!

1. 생성자를 private로 만듦

2. private한 생성자를 호출하기 위해 class내부에 public메소드를 만듦

3. 보통 public static Class명 getInstance() 메소드로 만듦

4. 이때, 객체를 하나만 만들어야 하므로 static한 객체가 null일때만 생성해주는 제어문 필요

 

Tip : static은 객체 생성전 메모리에 올라가 있으므로, private한 생성자를 호출하기 위해서는 꼭 static을 써야함!!!

 

class Manager {
	static Manager manager;
    
    	private Manager() {}
	
	// private 되어있는 생성자 이지만, static을 붙임으로써 
    	// Manager객체가 생성되지 않고도 함수를 호출해 쓸 수 있다.
	public static Manager getInstance() {	 
		if(manager == null) {
			manager = new Manager();
		}
		return manager;
	}
}

public class Test{
	public static void main(String[] args) {
    	// single stone 디자인 패턴!!!!(new 없이 객체에 있는 함수 호출 가능)
        // 객체 생성 없이 static메소드를 사용하기 위해 객체 이름으로 메소드 호출
    	Manager manager = Manager.getInstance();
    }
}

 

Posted by Jyoel :