Java - abstract class 사용 실습

parkkhee·2023년 2월 24일
0

3_LIKELION

목록 보기
6/14
package test;

import java.io.*;

public class Main {

    public static void main(String[] args) throws IOException {

        전사 a전사 = new 홍길동();
        a전사.a무기 = new();

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

        a전사 = new 홍길순();

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

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

    }

}
abstract class 전사{

    String 이름;
    무기 a무기;

    void 공격(){
        a무기.진행(이름);
    }

}
abstract class 무기{

    String 무기명;

    void 진행(String 사용자명){
        System.out.println(사용자명+" "+무기명+" "+"공격");
    }

}
classextends 무기{(){
        무기명 = "활";
    }

}
classextends 무기{(){
        무기명 = "창";
    }

}
classextends 무기{(){
        무기명 = "칼";
    }
}
class 홍길동 extends 전사{

    홍길동(){
        이름 = "홍길동";
        a무기 = new();
    }


}

class 홍길순 extends 전사 {

    홍길순(){
        이름 = "홍길순";
        a무기 = new();
    }

}
profile
순우리말 백엔드 개발자

0개의 댓글