JAVA_coding_05_02

AMJ·2023년 3월 2일
0

code_log_java

목록 보기
6/29
package com.p1;

class Main {
    public static void main(String[] args) {
        전사 a전사1 = new 전사();

        a전사1.a왼손무기 = new 칼();
        a전사1.공격();
        // 출력 => 전사가 왼손으로 칼(을)를 사용합니다.
        System.out.println("---");
        전사 a전사2 = new 전사();
        a전사2.a왼손무기 = new 창();
        a전사2.a오른손무기 = new 도끼();
        a전사2.공격();
        // 출력 => 전사가 왼손으로 창(을)를 사용합니다.
        // 출력 => 전사가 오른손으로 도끼(을)를 사용합니다.
    }
}
class 전사 {
    String 사용자명, 왼손, 오른손;
    전사(){
        사용자명 = "전사";
        왼손 = "왼손";
        오른손 = "오른손";
    }
    무기 a왼손무기;
    무기 a오른손무기;
    void 공격(){
        if(a왼손무기 !=null){
            a왼손무기.작동(사용자명,왼손);
        }
        if(a오른손무기 !=null){
            a오른손무기.작동(사용자명,오른손);
            return;
        }
    }
}
abstract class 무기{
    String 무기명;
    무기(){
        무기명 = "무기";
    }
    void 작동(String 사용자, String 착용위치){
        System.out.printf("%s가 %s(으)로 %s(을)를 사용합니다.\n",사용자,착용위치,무기명);
    }
}
class 칼 extends 무기{
    칼(){
        this.무기명 = "칼";
    }

}

class 창 extends 무기{
    창(){
        this.무기명 = "창";
    }

}

class 도끼 extends 무기{
    도끼(){
        this.무기명 = "도끼";
    }

}
profile
재미있는 것들

0개의 댓글