중복제거
class Main {
public static void main(String[] args) {
전사 a전사 = new 전사();
a전사.a무기1 = new 칼();
a전사.공격();
// 출력 => 전사가 칼로 공격합니다.
a전사.a무기1 = new 활();
a전사.공격();
// 출력 => 전사가 활로 공격합니다.
//
a전사.a무기2 = new 칼();
a전사.공격();
// 출력 => 전사가 활로 공격합니다.
// 출력 => 전사가 칼로 공격합니다.
}
}
class 전사{
무기 a무기1;
무기 a무기2;
String 사용자 = "전사";
void 공격(){
if (a무기1 != null){
a무기1.작동(사용자);
}
if (a무기2 != null){
a무기2.작동(사용자);
}}
}
abstract class 무기{
String 무기명;
무기(){
무기명 = "무기";
}
void 작동(String 사용자){
System.out.printf("%s(이)가 %s(으)로 공격합니다.\n",사용자,무기명);
}}
class 활 extends 무기{
활(){
무기명 = "활";
}
}
class 칼 extends 무기{
칼(){
무기명 = "칼";
}
}