즉, opponent는 전투 상황에서 attack의 대상인 Charmander 객체를 나타냅니다.
또한 opponent.takeDamage부분은 메소드 내에서 다른 메소드인 takeDamage를 호출한 것도 확인할 수 있습니다.
(다른 메소드를 호출하여 사용할 수 있다!!!!)
Charmander.Java
public class Charmander {
private String name;
private int level;
private int health;
public Charmander(String name, int level) {
this.name = name;
this.level = level;
this.health = 100;
}
public void defend() {
System.out.println(name + "이(가) 방어합니다!");
System.out.println();
}
public void takeDamage(int damage) {
health -= damage;
System.out.println(name + "이(가) " + damage + "의 데미지를 입었습니다.");
if (health <= 0) {
System.out.println(name + "이(가) 쓰러졌습니다!");
} else {
System.out.println(name + "의 체력: " + health);
}
System.out.println();
}
public String getName() {
return name;
}
public void displayInfo() {
System.out.println("Name: " + name);
System.out.println("Level: " + level);
System.out.println("Health: " + health);
System.out.println();
}
}
파이리는 defend와 takeDamage라는 메소드가 있음.
PokemonBattle.Java
public class PokemonBattle {
public static void main(String[] args) {
Pikachu pikachu = new Pikachu("Pikachu", 10);
Charmander charmander = new Charmander("Charmander", 8);
// Pikachu의 공격 메소드 호출
pikachu.attack(charmander);
// Charmander의 방어 메소드 호출
charmander.defend();
// Pikachu와 Charmander의 정보 출력
pikachu.displayInfo();
charmander.displayInfo();
}
}