JAVA

싱글톤 패턴 (디자인패턴)

연93 2022. 9. 13. 11:11

싱글톤(Singleton)

하나의 애플리케이션 내에서 단 하나만 생성되는 객체

package sec10.exam04_singleton;

//디자인패턴중 하나인 싱글톤 패턴으로 설계한 클래스.
public class Singleton {
	
	//private : 외부에서 접근을 막는 기능.
	
	//1)자신의 객체를 내부의필드(privat)로 생성
	private static Singleton singLeton = new Singleton();
	
	//2)생성자(private)
	private Singleton() {}
	
	//3)생성된 자신의 객체를 참조하는 메서드정의
	static Singleton getInstance() {
		return singLeton;
	}
		
}
package sec10.exam04_singleton;

public class SingletonExample {

	public static void main(String[] args) {
		
		//Singleton클래스는 싱글톤패턴으로 생성했기에 생성자를 호출할수가 없다.(private)
		//Singleton s1 = new Singleton()
		Singleton s1 = Singleton.getInstance(); //생성된 객체의 주소를 대입
		Singleton s2 = Singleton.getInstance(); // 생성된 객체의 주소를 대입
		
		// 참조 타입일경우 == : 주소비교
		if(s1 == s2) {
			System.out.println("같은 Singleton 객체입니다");
		}else {
			System.out.println("다른 Singleton 객체입니다");
		}
	}

}

'JAVA' 카테고리의 다른 글

Overriding 코드 정리  (0) 2022.09.14
final  (0) 2022.09.13
다차원 배열: 2차원 배열  (0) 2022.09.07
배열 (힙,스택영역)  (0) 2022.09.07
반복문 for , While 문  (0) 2022.09.06