플레이어가 공격에 따른 직업이 달라지게 하기

인철·2023년 10월 13일
0

algorithm

목록 보기
40/91

심화문제

// 문제 : 아래와 같이 출력 되도록 해주세요.
class Main {
  public static void main(String[] args) {
    캐릭터 a플레이어_캐릭터;
    
    a플레이어_캐릭터 = new 전사();
    a플레이어_캐릭터.공격();
    // 출력 : 전사가 대검으로 공격합니다.
    
    a플레이어_캐릭터 = new 마법사();
    a플레이어_캐릭터.공격();
    // 출력 : 마법사가 파이어볼로 공격합니다.
  }
}

정답

// 캐릭터 추상 클래스
abstract class 캐릭터 {
  // 추상 메서드
  abstract void 공격();
}

// 전사 클래스
class 전사 extends 캐릭터 {
  // 공격 메서드 구현
  void 공격() {
    System.out.println("전사가 대검으로 공격합니다.");
  }
}

// 마법사 클래스
class 마법사 extends 캐릭터 {
  // 공격 메서드 구현
  void 공격() {
    System.out.println("마법사가 파이어볼로 공격합니다.");
  }
}

// 메인 클래스
class Main {
  public static void main(String[] args) {
    // 캐릭터 인스턴스 생성
    캐릭터 a플레이어_캐릭터;
    
    // 전사 인스턴스 생성 후 공격 메서드 호출
    a플레이어_캐릭터 = new 전사();
    a플레이어_캐릭터.공격();
    // 출력 : 전사가 대검으로 공격합니다.
    
    // 마법사 인스턴스 생성 후 공격 메서드 호출
    a플레이어_캐릭터 = new 마법사();
    a플레이어_캐릭터.공격();
    // 출력 : 마법사가 파이어볼로 공격합니다.
  }
}
profile
같은글이있어도양해부탁드려요(킁킁)

0개의 댓글