본문 바로가기

JAVA

[JAVA] 싱글톤 (singleton) 패턴

객체를 static 하게 두어 어디서 객체 instance를 사용하던 최초에 생긴 instance를 공유해서 사용하도록 하는 패턴

 

객체 생성을 하나만 하는 것이 목적이기 때문에, 생성자를 private 하게 설정.

 

보통 객체 생성 및 조회는 getInstance() 라는 public method를 이용해서 진행

 

public class CarClass {

	private static CarClass carClass;
	
	private CarClass() {
		super();
		System.out.println("Constructor");
		// TODO Auto-generated constructor stub
	}
	
	public static CarClass getInstance() {
		if(carClass == null) {
			carClass = new CarClass();
		}
		return carClass;
	}
	
	private static int speed = 0;
	
	public static void speedUp() {
		speed++;
		System.out.println("현재 속도 : " + speed);
	}
	
	public static void speedDown() {
		speed--;
		System.out.println("현재 속도 : " + speed);
	}
}

public class SingletonMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		CarClass carClass = CarClass.getInstance();
		CarClass carClass1 = CarClass.getInstance();
		
		carClass.speedUp();
		carClass1.speedUp();
	}

}

---->
Constructor
현재 속도 : 1
현재 속도 : 2
반응형

'JAVA' 카테고리의 다른 글

[Springboot] lombok 설치 및 STS 연동  (0) 2022.02.09
[JAVA] try / catch / finally  (0) 2022.01.25
[JAVA] 다형성(polymorphism)  (0) 2022.01.17