티스토리 뷰

Algorithm/Java

자바 기본편 - 7장 퀴즈

JJIINDOL 2023. 3. 4. 23:39

✨ 7장 퀴즈

 

<문제>

클래스를 이용해 햄버거를 자동으로 만드는 프로그램을 작성하시오.

 

< 조건 >

- 햄버거의 종류는 햄버거, 치즈버거, 새우버거 3가지

- 각 버거는 각각의 클래스로 생성

- 버거 이름을 담기 위한 name 변수 정의

- 재료 정보를 표시하는 cook() 메소드 정의

- 공통 부분은 상속 및 메소드 오버라이딩으로 처리

- 모든 클래스는 하나의 파일에 정의

 

< 조건2 >

- 각 버거의 재료 정보

1) 햄버거: 양상추, 패티, 피클

2) 치즈버거: 양상추, 패티, 피클, 치즈

3) 새우버거: 양상추, 패티, 피클, 새우

 

< 참고 코드 >

 

< 실행 결과 >

 

< 정답 >

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("+ 새우");
	}
}

public class Quiz {

	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("주문하신 메뉴를 만듭니다.");
		System.out.println("--------------------");
		for (HamBurger hamBurger : hamBurgers) {
			hamBurger.cook();
			System.out.println("--------------------");
		}
		System.out.println("메뉴 준비가 완료되었습니다.");
	}
}

 

✨ 문제를 풀고 느낀점: 기본적인 틀이 힌트로 나와 있어 접근하기가 편했다. 만약 힌트가 주어지지 않았다면 답안의 틀을 만드는데 어려움이 있었을 것이고 풀 수 있었을지 의문이 든다. 또한, 클래스들의 상속 관계 파악은 잘 됐으나 super에 대한 개념이 명확하지 않아 검색을 통해 힌트를 얻었다. 7장에서 배운 내용을 한번에 사용하는 중요한 문제인 만큼 다시 한번 풀어 완전히 숙지한 후 넘어가도록 하겠다.

 

출처 : 인프런 '나도코딩의 자바 기본편' 강의

'Algorithm > Java' 카테고리의 다른 글

9장 퀴즈  (0) 2023.07.03
자바 기본편 - 상속  (0) 2023.02.21
자바 기본편 - 접근 제어자  (0) 2023.02.20
자바 기본편- Getter 와 Setter  (0) 2023.02.18
자바 기본편 - 용어 정리  (0) 2023.02.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함