[Java] 생성자 활용_4

우혜지·2023년 2월 25일
0
  • 전사 홍길동과 홍길순은 다양한 무기를 이용해서 공격합니다.
class Main3 {
    public static void main(String[] args) {
        전사 a전사 = new 홍길동();
        a전사.a무기 = new();

        a전사.공격();
        // 출력 => 홍길동이(가) 활(으)로 공격합니다.

        a전사 = new 홍길순();

        a전사.공격();
        // 출력 => 홍길순이(가) 칼(으)로 공격합니다.

        a전사.a무기 = new();
        a전사.공격();
        // 출력 => 홍길순이(가) 창(으)로 공격합니다.
    }
}
abstract class 전사 {
    String 이름;
    무기 a무기 = new 무기();
    void 공격() {
        a무기.사용(이름);
    }
}
class 홍길동 extends 전사{
    홍길동() {
        이름 = "홍길동";

    }
}
class 홍길순 extends 전사{
    홍길순() {
        이름 = "홍길순";
        a무기 = new();
        
    }
}
class 무기 {
    String 무기이름;
    void 사용(String 사용자) {
        System.out.println(사용자 + "이(가) " + 무기이름 + "(으)로 공격합니다.");
    }
}
classextends 무기 {() {
        무기이름 = "창";
    }
}
classextends 무기 {() {
        무기이름 = "활";
    }
}
classextends 무기 {() {
        무기이름 = "칼";
    }
}
profile
안녕하세요 :)

0개의 댓글