Programming/Java 기초

JAVA Basic) 문제 풀이1

728x90

 

Q6.
카드 회사에서 카드를 발급받을 때마다 카드 고유 번호를 부여해준다.

public class Company {
	private static int serialNum = 2000;
	public int cardNum;
	
	public Company() {
		serialNum++;
		cardNum = serialNum;		
	}
	public int getCardNum() {
		return cardNum;
	}
}
public class CardTest {

	public static void main(String[] args) {

		Company Card1 = new Company();
		Company Card2 = new Company();
		
		System.out.println(Card1.cardNum);
		System.out.println(Card2.cardNum);
	}
}

 


Q7.
Q6에서 구현한 내용에 카드회사 클래스 CardCompany를 싱글톤 패턴을 사용해 구현해라.

CardCompany 

public class CardCompany {
	private static CardCompany instance = new CardCompany();
	
	private CardCompany() {}
	
	public static CardCompany getInstance() {
		return instance;
	}
	public Card createCard() {
		Card card = new Card();
		return card;
        //카드를 생성하는 메서드
	}
}

Card

public class Card {
	private static int serialNum = 2000;
	int cardNum;
	
	public Card() {
		serialNum++;
		cardNum = serialNum;		
	}
	public int getCardNum() {
		return cardNum;
	}
	public void setCardNum(int cardNum) {
		this.cardNum = cardNum;
	}
}

CardTest

public class CardTest {
	public static void main(String[] args) {
		
		CardCompany newCard = CardCompany.getInstance();
		//싱글톤 패턴
		Card Card1 = newCard.createCard();	//Card 생성 메서드
		Card Card2 = newCard.createCard();
		
		System.out.println(Card1);	//2001출력
		System.out.println(Card2);	//2002출력
	}
}

 


[Do it! 자바 프로그래밍 입문] 도서로 공부하며 정리한 글입니다.

300x250