컴퓨터공학 💻 도서관📚
Part2. 2-19 static과 싱글톤 패턴 복습 본문
public class CarFactory {
private static CarFactory instance = new CarFactory();
private CarFactory() {} // 여기에는 static 쓰는거 아님
public static CarFactory getInstance() {
if(instance == null) {
instance = new CarFactory();
}
return instance;
}
public Car createCar() { // 반환형은 Car 클래스
Car car = new Car(); // 여기에서 car 인스턴스 생성해준다
return car;
}
}
carNum 은 Car 클래스의 멤버변수니까 serialNum 은 Carfactory 클래스 보다는 Car 클래스에 있는게 더 직관적인 것 같다.
public class Car {
private static int serialNum = 10000;
private int carNum;
public Car() {
serialNum++; // 10000 부터 시작한 다음, 1 더해주고, 지역변수에 넣어주기
carNum = serialNum;
}
public int getCarNum() { // 반환형은 int
return carNum;
}
public void setCarNum(int carNum) {
this.carNum = carNum;
}
}
public class CarFactoryTest {
public static void main(String[] args) {
CarFactory factory = CarFactory.getInstance(); // Carfactory 클래스로 참조
Car mySonata = factory.createCar(); // factory 인스턴스로 참조
Car yourSonata = factory.createCar(); // factory 인스턴스로 참조
System.out.println(mySonata.getCarNum());
System.out.println(yourSonata.getCarNum());
}
}
'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
Part2. 2-20 배열 (0) | 2025.02.04 |
---|---|
Part2. 2-18 싱글톤 패턴 : 프로그램에서 인스턴스가 유일해야 하는 경우 사용하는 디자인 패턴 (0) | 2025.02.03 |
Part2. 2-17 static 메서드 (0) | 2025.01.30 |
Part2. 2-16 static 변수: 여러 인스턴스에서 공통으로 사용하는 변수 (0) | 2025.01.28 |
Part2. 2-13, 14, 15 객체 간의 협력 (0) | 2025.01.02 |
Comments