JAVA
[JAVA] 싱글톤 (singleton) 패턴
noName123495
2022. 2. 19. 23:30
객체를 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
반응형