package com.example.MyJavaProject;
public class main {
public static void main(String[] args) {
Warrior warriorA = new Warrior();
warriorA.attack();
warriorA.weaponA = new Sword();
warriorA.attack();
}
}
class Warrior{
Weapon weaponA = new Weapon();
void attack(){
weaponA.attack();
}
};
class Weapon{
String equipWeapon;
void attack(){
if(equipWeapon==null){
System.out.println("무기가 없어 공격할 수 없습니다.");
} else{
System.out.printf("%s로 공격합니다.\n",this.equipWeapon);
}
}
}
class Sword extends Weapon{
Sword(){
equipWeapon = "칼";
}
}
package com.example.MyJavaProject;
public class main {
public static void main(String[] args) {
Warrior warriorA = new Warrior();
warriorA.weaponA = new Sword();
warriorA.attack();
//전사가 칼로 공격합니다.
warriorA.weaponA = new Bow();
warriorA.attack();
//전사가 활로 공격합니다.
warriorA.weaponB = new Sword();
warriorA.attack();
// 전사가 칼로 공격합니다.
// 전사가 활로 공격합니다.
}
}
class Warrior{
Weapon weaponA = new Weapon();
Weapon weaponB = new Weapon();
String class_what;
Warrior(){
class_what = "전사";
}
void attack(){
if(weaponB.equipWeapon == null){
weaponA.attack(class_what);}
else{weaponA.attack(class_what);
weaponB.attack(class_what);};
}
};
class Weapon{
String equipWeapon;
void attack(String class_what){
System.out.printf("%s가 %s로 공격합니다.\n",class_what,this.equipWeapon);
}
}
class Sword extends Weapon{
Sword(){
equipWeapon = "칼";
}
}
class Bow extends Weapon{
Bow(){
equipWeapon = "활";
}
}
'Back-end > Java' 카테고리의 다른 글
[Java] 혼자 공부하는 자바 160~161p 풀어보기 (0) | 2022.09.08 |
---|---|
[Java] 삼항 연산자 연습 (0) | 2022.09.08 |
[Java] ArrayList 사용 없이 개념 익히기 (0) | 2022.09.06 |
[Java] 배열 익히기 (0) | 2022.09.02 |
[Java] 포켓몬 전투신 구현(상속, 구성을 이용) (0) | 2022.09.01 |
댓글