- 모든 플레이어는 자신의 레벨이 있기때문에, Player클래스에서 PlayerLevel을 멤버변수로 갖는다.
- 레벨업할수록 수행할 수 있는 기능이 달라진다. 따라서 PlayerLevel클래스를 추상클래스로 만들어 모든 레벨에서 공통
으로 수행하는 기능을 구현한다. 각 레벨마다달라지는 기능은 추상메소드로 만든다.
- 플레이어생성(인스턴스생성) 시, 기본값은 초보자!
- upgradeLevel()메서드에선 모든 레벨이 매개변수로 대입할 수 있어야 하기에 모든 레벨의 상위클래스인 PlayerLevel
을 매개변수의 자료형으로 정의한다.
- 모든 레벨 클래스는 PlayerLevel클래스를 상속받았다. 그리고 Player가 가질 수 있는 여러레벨을 별도의 자료형으로
선언않고, PlayerLevel로 선언함.
- 각 레벨마다 run,jump,catched메서드는 조금씩 다르게 구현되므로 추상메소드로 선언.
+) play 횟수에따라 자동으로 levelup하는 if문을 구사하고 싶으나 추후에..... ㅠㅠ
'java > java 예제' 카테고리의 다른 글
[java] 등급별 고객 할인률 적용 (0) | 2022.03.08 |
---|---|
[java] StringTokenizer를 이용한 중복문자 제거 (0) | 2022.03.07 |
[java] 단순계좌이체 (0) | 2022.03.07 |
[java] toString을 이용한 객체배열 나열 (0) | 2022.03.07 |
[java] toString을 이용한 배열 나열하기 (0) | 2022.03.07 |