추상클래스 문제
class Main {
public static void main(String[] args) {
사람 a김철수 = new 사람();
a김철수.이름 = "김철수";
a김철수.전화번호 = "010-1234-1234";
a김철수.a좋아하는_음식점 = new 영화반점();
a김철수.선호하는_음식의_매운정도 = "매운";
a김철수.선호하는_음식 = "짬뽕";
사람 a김영희 = new 사람();
a김영희.이름 = "김영희";
a김영희.전화번호 = "010-4321-4321";
a김영희.a좋아하는_음식점 = new 북경반점();
a김영희.선호하는_음식의_매운정도 = "안매운";
a김영희.선호하는_음식 = "짬뽕";
a김철수.배달_음식_주문하다();
a김영희.배달_음식_주문하다();
a김영희.a좋아하는_음식점 = a김철수.a좋아하는_음식점;
a김영희.선호하는_음식의_매운정도 = "아주 매운";
a김영희.선호하는_음식 = "짜장";
a김영희.배달_음식_주문하다();
}
}
==========================================================
정답
class Main {
public static void main(String[] args) {
사람 a김철수 = new 사람();
a김철수.이름 = "김철수";
a김철수.전화번호 = "010-1234-1234";
a김철수.a좋아하는_음식점 = new 영화반점();
a김철수.선호하는_음식의_매운정도 = "매운";
a김철수.선호하는_음식 = "짬뽕";
사람 a김영희 = new 사람();
a김영희.이름 = "김영희";
a김영희.전화번호 = "010-4321-4321";
a김영희.a좋아하는_음식점 = new 북경반점();
a김영희.선호하는_음식의_매운정도 = "안매운";
a김영희.선호하는_음식 = "짬뽕";
a김철수.배달_음식_주문하다();
a김영희.배달_음식_주문하다();
a김영희.a좋아하는_음식점 = a김철수.a좋아하는_음식점;
a김영희.선호하는_음식의_매운정도 = "아주 매운";
a김영희.선호하는_음식 = "짜장";
a김영희.배달_음식_주문하다();
}
}
class 사람 {
String 이름;
String 전화번호;
String 선호하는_음식의_매운정도;
String 선호하는_음식;
음식점 a좋아하는_음식점;
void 배달_음식_주문하다() {
a좋아하는_음식점.주문(이름, 전화번호, 선호하는_음식, 선호하는_음식의_매운정도);
}
}
abstract class 음식점 {
abstract void 주문(String 주문자명, String 주문자_전화번호, String 음식, String 매운정도);
}
class 영화반점 extends 음식점 {
void 주문(String 주문자명, String 주문자_전화번호, String 음식, String 매운정도) {
System.out.println("영화반점에서 " + 주문자명 + "(" + 주문자_전화번호 + ")에게 " + 매운정도 + " " + 음식 + "(을)를 배달합니다.");
}
}
class 북경반점 extends 음식점 {
void 주문(String 주문자명, String 주문자_전화번호, String 음식, String 매운정도) {
System.out.println("북경반점에서 " + 주문자명 + "(" + 주문자_전화번호 + ")에게 " + 매운정도 + " " + 음식 + "(을)를 배달합니다.");
}
}