반응형
클래스를 이용하여 햄버거를 자동으로 만드는 프로그램을 작성하시오.
1. 햄버거의 종류는 햄버거, 치즈버거, 새우버거 3가지이다.
2. 각 버거는 각각의 클래스로 생성한다.
3. 버거 이름을 담기 위한 name 변수를 정의한다.
4. 재료 정보를 표시하는 cook() 메소드를 정의한다.
- 햄버거 : 양상추, 패티, 피클
- 치즈버거 : 양상추, 패티, 피클, 치즈
- 새우버거 : 양상추, 패티, 피클, 새우
5. 공통부분은 상속 및 메소드 오버라이딩으로 처리한다.
6. 모든 클래스는 하나의 파일에 정의한다.
package chap_07;
public class _Quiz_07 {
public static void main(String[] args) {
HamBurger[] hamBurgers = new HamBurger[3];
hamBurgers[0] = new HamBurger();
hamBurgers[1] = new CheeseBurger();
hamBurgers[2] = new ShrimpBurger();
System.out.println("주문하신 메뉴를 만듭니다.");
for (HamBurger hamBurger : hamBurgers){
hamBurger.cook();
System.out.println("----------------------");
}
System.out.println("메뉴 준비가 완료되었습니다.");
}
}
class HamBurger {
public String name;
public HamBurger(){
this("햄버거");
}
public HamBurger(String name){
this.name = name;
}
public void cook(){
System.out.println(this.name + "을 만듭니다.");
System.out.println("빵 사이에 들어가는 재료는 아래와 같습니다.");
System.out.println("> 양상추");
System.out.println("+ 패티");
System.out.println("+ 피클");
}
}
class CheeseBurger extends HamBurger{
public CheeseBurger(){
super("치즈버거");
}
public void cook(){
super.cook();
System.out.println("+ 치즈");
}
}
class ShrimpBurger extends HamBurger{
public ShrimpBurger(){
super("쉬림프버거");
}
public void cook(){
super.cook();
System.out.println("+ 새우");
}
}
반응형
'Spec UP - Backend > 나도코딩의 자바기본편' 카테고리의 다른 글
Chap_08.인터페이스(Interface) (0) | 2023.05.10 |
---|---|
Chap_08. 추상 클래스(AbstractClass) (0) | 2023.05.10 |
Chap_07. 열거형(Enum) (1) | 2023.05.03 |
Chap_07. Final (0) | 2023.05.02 |
Chap_07. Reference 참조 (0) | 2023.05.02 |
댓글