가정
우리는 게임개발회사에 입사했다.
우리에게는 성격좋은 사수 한명이 있다.
내가 개발할 게임은 오리시뮬레이션 게임이다.
선임이 나의 개발을 도와주진 않지만 조언은 해준다.
요구사항
- D1 요구 : 오리를 생성하고 날게하시오.
- D2 요구 : 게임의 디테일을 살리기 위해서 `청둥오리`와 `흰오리`를 생성하고 날게하시오.
- D3 요구 : 오리 계열의 클래스에 날다 메서드가 중복되었습니다. 중복을 제거해주세요.
- D4 요구 : 게임의 재미를 위하여 고무오리를 추가하고 날게 하시오.
- D5 요구 : 주말 주주회의에서 고무오리가 하늘을 날아다니는 것에 대해서 태클이 들어왔습니다. 고무오리 계열은 하늘을 날 수 없게 해주세요.
- D6 요구 : 고무오리가 반응이 좋습니다. 고무2오리를 추가하고 날게 해주세요.
- D7 요구 : 고무오리계열에서 날다 메서드의 중복을 제거해주세요.
풀이 ::
package simulation;
public class GameOne {
public static void main ( String[] args ) {
// 첫번째 오리 Bob 생성
NormalDuck normalBob = new NormalDuck();
// 두번쨰 오리 Sam 생성
WhiteDuck whiteSam = new WhiteDuck();
// 세번째 오리 Tom 생성
BlackDuck blackTom = new BlackDuck();
// 네번째 오리 toy 생성
RuberDuck toyDuck = new RuberDuck();
// 다섯번째 오리 newToy 생성
UpgraedRuberDuck newToyDuck = new UpgraedRuberDuck();
// Bob 이 날았다.
normalBob.fly();
// Sam 도 날았다.
whiteSam.fly();
// Tom 도 날았다.
blackTom.fly();
// toy 도 날았다
toyDuck.fly();
// newToy 도 날았다.
newToyDuck.fly();
}
}
class NormalDuck {
void fly() {
System.out.println("오리가 날개로 날아갑니다.");
}
}
class WhiteDuck extends NormalDuck {
}
class BlackDuck extends NormalDuck {
}
class RuberDuck extends NormalDuck {
void fly() {
System.out.println("고무는 날수 없습니다.");
}
}
class UpgraedRuberDuck extends RuberDuck {
}
/*
결과값
오리가 날개로 날아갑니다.
오리가 날개로 날아갑니다.
오리가 날개로 날아갑니다.
고무는 날수 없습니다.
고무는 날수 없습니다.
*/
'Language > Java' 카테고리의 다른 글
공부내용 정리 Java :: JDK, JRE, JVM의 차이 (0) | 2021.08.08 |
---|---|
공부내용 정리 Java :: 예제 3 (0) | 2021.06.24 |
공부내용 정리 Java :: 예제 1 (0) | 2021.06.16 |
공부내용 정리 Java :: 기초 2 - 객체지향 I (0) | 2021.06.16 |
공부내용 정리 Java :: 기초 VII (0) | 2021.06.16 |