package ex02닌텐도게임기;
public class Dongmul extends GameChip {
@Override
public void start() {
System.out.println("동물의숲 게임을 시작합니다.");
}
}
package ex02닌텐도게임기;
public class Mario extends GameChip {
@Override
public void start() {
System.out.println("마리오카트 게임을 시작합니다.");
}
}
package ex02닌텐도게임기;
public class Zelda extends GameChip {
@Override
public void start() {
System.out.println("젤다의 전설을 시작합니다.");
}
}
package ex02닌텐도게임기;
public class Poke extends GameChip {
// start 메소드 재정의하기
public void start() {
System.out.println("포켓몬게임을 시작합니다.");
}
}
package ex02닌텐도게임기;
public class Main {
// 실행하는 공간, 닌텐도 게임기
public static void main(String[] args) {
Mario ma = new Mario();
playGame(ma);
Dongmul dong = new Dongmul();
playGame(dong);
Zelda zel = new Zelda();
playGame(zel);
// Gamechip ma = new Zelda();
}
private static void playGame(GameChip ma) {
ma.start();
// 게임 실행시키기
}
// 메소드 오버로딩 방식으로 문제 해결 방법
// --> 게임칩을 추가할 때마다 메소드를 하나씩 다시 생성
// private static void playGame(Dongmul dong) {
// dong.start();
// }
// private static void playGame(Mario ma) {
// ma.start();
// }
// private static void playGame(Zelda zel) {
// zel.start();
// }
}