초급과정/java

[Java] 11일차. 싱글톤(Singleton)

whalerice 2023. 10. 19. 18:36

 * 디자인 패턴 중에 하나인 싱글톤
 
 * 클래스를 여러개 만들지 못하도록 방지함.

public class SingleTon {

	private static SingleTon singleTon = null;
	
	int a =10;
	//singleTon이 호출될때 메모리가 사용됨
	private SingleTon() {
		try {
		Thread.sleep(3000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		
	};

	public static SingleTon getInstance() {
		System.out.println("객체가 호출 되었습니다.");
		if (singleTon == null) {
			singleTon = new SingleTon();
		}
		System.out.println("객체로드가 완료 되었습니다.");
		return singleTon;
	}
}

 

public class SingleTonCall {
	public static void main(String[] args) {
		SingleTon singleTon = SingleTon.getInstance();
		
		singleTon.a = 100;
		System.out.println(singleTon.a);
		SingleTon singleTon2 = SingleTon.getInstance();
		
		System.out.println(singleTon2.a);
	}
}