전사가 들고 있는 무기에 의해서 서로 다른 공격형태를 보이도록 해주세요
class Main {
public static void main(String[] args) {
전사 a전사 = new 전사();
전사 b전사 = new 전사();
String 이름 = "칸";
a전사.이름 = 이름;
a전사.나이 = 20;
a전사.자기소개();
a전사.나이++;
a전사.자기소개();
b전사.나이 = 30;
b전사.이름 = "카니";
b전사.자기소개();
a전사.a무기 = new 활();
a전사.공격();
// 출력 : 카니가 활로 공격합니다.
b전사.a무기 = new 칼();
b전사.공격();
// 출력 : 카니가 칼로 공격합니다.
}
}
class 전사 {
// 인스턴스 변수
String 이름;
// 인스턴스 변수
int 나이;
// 인스턴스 변수
무기 a무기;
void 자기소개() {
System.out.println("안녕하세요. 저는 " + this.나이 + "살 " + this.이름 + " 입니다.");
}
void 공격() {
this.a무기.사용(this.이름);
}
}
class 무기 {
void 사용(String 사용자){};
}
class 칼 extends 무기 {
void 사용(String 사용자){
System.out.println(사용자+"가 칼로 공격합니다.");
};
}
class 활 extends 무기 {
void 사용(String 사용자){
System.out.println(사용자+"가 활로 공격합니다.");
};
}