더북(TheBook)

12.5.1 클래스 생성하기

먼저 Game 클래스를 만듭니다. 게임은 주인공 이름을 입력한 뒤 시작하므로 주인공 이름을 입력받을 때 new Game(name)으로 게임 클래스를 호출해서 게임 객체를 생성합니다. new Game을 하면 Game 클래스의 constructor 메서드가 실행되고 monster, hero, monsterList 속성을 만듭니다.

주인공과 몬스터에는 공통된 속성(name, maxHp, hp, xp, att)과 공통된 메서드(attack())가 있습니다. 공통된 속성과 메서드는 Unit 클래스를 만들어 모아 두고 HeroMonster 클래스에서는 Unit 클래스를 상속하게 합니다.

Hero 클래스는 super() 함수를 통해 부모 클래스인 Unit 클래스에 있는 속성을 사용합니다. 그리고 부모 클래스에 존재하지 않는 lev 속성과 heal() 메서드는 super() 함수 아래 따로 작성합니다.

Monster 클래스는 Unit 클래스에 있는 속성과 메서드를 그대로 사용합니다. 이처럼 부모 클래스 내용을 그대로 사용할 때는 자식 클래스에서 코드를 생략해도 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.