JAVA
상속을 활용한 Hero 코드 만들기
jiyoon12
2025. 4. 25. 00:02
- 아래 클래스 다이어그램을 보고 코드 구현하기
package com.inheritance;
public class Hero {
String name;
int hp;
public Hero(String name, int hp) {
this.name = name;
this.hp = hp;
}
public void attack() {
System.out.println("공격을 합니다.");
}
}
package com.inheritance;
public class Warrior extends Hero {
public Warrior(String name, int hp) {
// 부모 사용자 정의 생성자가 있다면 super() 키워드를 사용해서
// 가장 먼저 부모 생성자 호출해야 한다.
super(name, hp);
}
// 부모의 메서드를 재정의 --> 메서드 오버 라이드
// 어노테이션 주석 + 힌트
@Override
public void attack() {
System.out.println("전사가 공격을 합니다.");
super.attack();
}
public void comboAttack() {
System.out.println("전사가 콤보 공격을 합니다.");
}
}
package com.inheritance;
public class Archer extends Hero {
public Archer(String name, int hp) {
super(name, hp);
}
public void fireArrow() {
System.out.println("궁수가 공격을 합니다");
}
}
package com.inheritance;
public class Wizard extends Hero {
public Wizard(String name, int hp) {
super(name, hp);
}
public void freezing() {
System.out.println("마법사가 공격을 합니다.");
}
}