[Java 객체지향] Singleton Pattern 응용 문제

2022. 1. 27. 19:47·Java & Kotlin

문제

자동차 공장이 있습니다. 자동차 공장은 유일한 객체이고, 이 공장에서 생산되는 자동차는 제작될 때마다 고유의 번호가 부여됩니다. 자동차 번호가 10001부터 시작되어 자동차가 생산될 때마다 10002, 10003 이렇게 번호가 붙도록 자동차 공장 클래스, 자동차 클래스를 구현하세요 다음 CarFactoryTest.java 테스트 코드가 수행 되도록 합니다.

 

CarFactoryTest.java
package ch19;

public class CarFactoryTest {

	public static void main(String[] args) {
		
		CarFactory factory = CarFactory.getInstance();
		Car mySonata = factory.createCar();
		Car yourSonata = factory.createCar();
		
		System.out.println(mySonata.getCarNum());     //10001 출력
		System.out.println(yourSonata.getCarNum());   //10002 출력
	}
}

 

Car.java
  • 수정 사항 : Car의 변수를 외부에서 수정할 수 있으므로 private으로 설정해서 클래스 내부에서만 사용해야 함!
package ch19;

public class Car {
	
	public static int serialNum = 10000;	// 각 인스턴스가 공유할 static 변수
	public int carNum ;
	
	public Car() {	// Car 객체 생성될 때마다 serialNum 증가하여 멤버변수에 복사
		serialNum++;
		carNum = serialNum;
	}
	
	public int getCarNum() {
		return carNum;
	}

}

 

CarFactory.java
package ch19;

public class CarFactory {
	
	private static CarFactory factory = new CarFactory();	// 유일한 인스턴스
	
	private CarFactory() {	// private default consructor
		
	}
	
	public static CarFactory getInstance() {	// 인스턴스 반환해주는 static 메서드
		if(factory == null) {
			factory = new CarFactory();
		}
		return factory;
	}
	
	public Car createCar() {	// car 인스턴스 생성 메서드
		Car car = new Car();
		return car;
	}
 }
저작자표시 비영리 변경금지 (새창열림)

'Java & Kotlin' 카테고리의 다른 글

[Java 객체지향] 배열  (0) 2022.01.28
[Java 객체지향] Singleton Pattern (static 응용)  (0) 2022.01.27
[Java 객체지향] Static 메서드  (0) 2022.01.27
'Java & Kotlin' 카테고리의 다른 글
  • [Java 객체지향] 객체 배열
  • [Java 객체지향] 배열
  • [Java 객체지향] Singleton Pattern (static 응용)
  • [Java 객체지향] Static 메서드
Sue
Sue
개발 공부 로그
  • Sue
    Sue's devlog
    Sue
  • 전체
    오늘
    어제
    • 분류 전체보기 (122)
      • Algorithm (2)
      • WEB (8)
      • Java & Kotlin (83)
      • Spring (26)
      • Database (1)
      • Infra (0)
      • Git (1)
      • devlog (1)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Sue
[Java 객체지향] Singleton Pattern 응용 문제
상단으로

티스토리툴바