문제
카드회사가 있습니다. 카드회사는 '유일한 객체' 이고,
이 회사에서는 카드를 발급하면 항상 '고유번호' 가 자동으로 생성됩니다.
10001 부터 시작하여 카드가 생성될때마다 10002, 10003 식으로 증가됩니다.
다음 코드가 수행되도록 Card클래스와 Company 클래스를 구현하세요.
public class CardCompanyMain {
public static void main(String[] args) {
Company com = Company.getInstance(); // 싱글톤 패턴
Company company = Company.getInstance(); // 여러번 호출해도 동일 객체
System.out.println((com == company) ? "동일객체" : "다른객체");
Card myCard = company.createCard();
Card yourCard = company.createCard();
System.out.println(myCard.getCardnumber());
System.out.println(yourCard.getCardnumber());
} // end main
}
public class Company {
private static int serialnumber = 1000;
public Company(){}
private static Company instance;
static Company getInstance() {
if(instance == null) {
instance = new Company();
}
return instance;
}
public Card createCard() {
return new Card(++serialnumber);
}
}
Singlton 디자인 패턴을 사용하여 만들고 카드번호를 Card클래스로 넘겨주는 클래스
public class Card {
private int cardnumber;
public Card(int cardnumber) {
super();
this.cardnumber = cardnumber;
}
public int getCardnumber() {
return cardnumber;
}
public void setCardnumber(int cardnumber) {
this.cardnumber = cardnumber;
}
카드번호를 저장하고 리턴시켜주는 클래스
결과

'Language > JAVA1' 카테고리의 다른 글
| [JAVA] (1) | 2024.01.06 |
|---|---|
| [JAVA 13] static, Singleton 디자인, final, 상속 (0) | 2022.02.04 |
| [JAVA 12] 클래스, 접근권한 수식어 (접근제한자) (0) | 2022.02.02 |
| [JAVA 11] 정규 표현식, 클래스 (0) | 2022.02.02 |
| [JAVA 10] 문자열 메소드, 정규표현식 (0) | 2022.01.31 |