객체 지향 기법을 활용한 게임 캐릭터 공격 만들기입니다.
Hero class 생성
public class Hero {
String name;
public Hero(String name) {
this.name = name;
}
public void attack() {
System.out.println("주먹 지르기!");
}
}
Warrior class 생성
public class Warrior extends Hero {
public Warrior(String name) {
super(name);
}
public void groundCutting() {
System.out.println("대지 가르기!");
}
}
Archer class 생성
public class Archer extends Hero {
public Archer(String name) {
super(name);
}
public void fireArrow() {
System.out.println("불화살!");
}
}
Wizard class 생성
public class Archer extends Hero {
public Archer(String name) {
super(name);
}
public void fireArrow() {
System.out.println("불화살!");
}
}
Main class 생성
public class Main {
public static void main(String[] args) {
Hero[] heros = new Hero[3];
heros[0] = new Warrior("전사");
heros[1] = new Archer("궁수");
heros[2] = new Wizard("마법사");
for (int i = 0; i < heros.length; i++) {
heros[i].attack();
if (heros[i] instanceof Warrior) {
Warrior temp = (Warrior) heros[i];
temp.groundCutting();
} else if (heros[i] instanceof Archer) {
Archer temp = (Archer) heros[i];
temp.fireArrow();
} else if (heros[i] instanceof Wizard) {
Wizard temp = (Wizard) heros[i];
temp.freezing();
}
}
}
}
출력 결과
주먹 지르기!
대지 가르기!
주먹 지르기!
불화살!
주먹 지르기!
얼리기!
'IT > Java' 카테고리의 다른 글
Serialize란 무엇인가? (0) | 2021.04.04 |
---|---|
[JAVA] 동빈나님의 자바기초프로그래밍 강좌 완강 (2) | 2020.12.15 |
[JAVA] 다형성을 이용한 과일 정보 프로젝트 구현 (0) | 2020.12.14 |
[JAVA]인터페이스 (0) | 2020.12.13 |
[JAVA]추상 개념을 이용한 음악 플레이어 구현하기 (0) | 2020.12.13 |