여기서 클래스의 상속이라는 개념이 등장합니다. Hero와 Monster 클래스에서 공통되는 부분만 추려 새로운 클래스로 만듭니다. 그리고 Hero와 Monster 클래스는 새로운 클래스에서 공통부분을 가져와 사용합니다. 이를 상속받는다고 표현합니다. 이때 공통부분을 모아 만든 클래스를 부모 클래스, 상속받는 클래스를 자식 클래스라고 합니다.
공통부분을 모아 부모 클래스인 Unit을 만들면 다음과 같습니다.
class Unit {
constructor(name, hp, att) {
this.name = name;
this.hp = hp;
this.att = att;
}
attack(target) {
target.hp -= this.att;
}
}
Unit 클래스를 상속받도록 Hero와 Monster 클래스를 수정하면 다음과 같습니다. 자식 클래스에서 부모 클래스를 상속받을 때는 extends라는 예약어를 사용합니다.