본문 바로가기

java/java 예제

[java] level별 토끼잡기 게임_다형성

- 모든 플레이어는 자신의 레벨이 있기때문에, Player클래스에서 PlayerLevel을 멤버변수로 갖는다.

- 레벨업할수록 수행할 수 있는 기능이 달라진다. 따라서 PlayerLevel클래스를 추상클래스로 만들어 모든 레벨에서 공통

  으로 수행하는 기능을 구현한다. 각 레벨마다달라지는 기능은 추상메소드로 만든다.

 

- 플레이어생성(인스턴스생성) 시, 기본값은 초보자!

- upgradeLevel()메서드에선 모든 레벨이 매개변수로 대입할 수 있어야 하기에 모든 레벨의 상위클래스인 PlayerLevel

  을 매개변수의 자료형으로 정의한다.

- 모든 레벨 클래스는 PlayerLevel클래스를 상속받았다. 그리고 Player가 가질 수 있는 여러레벨을 별도의 자료형으로

  선언않고, PlayerLevel로 선언함. 

 

- 각 레벨마다 run,jump,catched메서드는 조금씩 다르게 구현되므로 추상메소드로 선언.

 

+) play 횟수에따라 자동으로 levelup하는 if문을 구사하고 싶으나 추후에..... ㅠㅠ