# 상속을 통한 클래스 확장 상속은 기존 클래스(A)를 확장하여 새로운 클래스(B)를 만드는 것입니다. 이를 위해 `extends` 키워드를 사용합니다. ``` // 기존 클래스 class A { ... } // 확장된 새로운 클래스 class B extends A { ... } ``` 확장된 클래스는, 기존 클래스의 모든 속성을 물려받게 됩니다. 아래는 자전거 클래스의 예입니다. 이름을 필드로, 페달 이동을 메소드로 가지고 있습니다. ``` class Bicycle { String name; // 이름 // 페달로 이동 public void pedal() { System.out.println("페달로 이동~"); } } ``` 위 자전거에 모터를 달아 새로운 클래스를 만들어봅시다. ``` // 기존 Bicycle 클래스를 토대로, 새로운 클래스를 생성! class MotorBicycle extends Bicycle { int battery; // 모터로 이동 public void motor() { System.out.println("모터로 이동!!"); } } ``` 이제 MotorBicycle 객체는 Bicycle 클래스의 기본 속성(이름, 페달이동)을 기반하여, 추가 속성(배터리, 모터 이동)을 갖게 됩니다. ``` // 객체 생성 MotorBicycle mb = new MotorBicycle(); // 필드 초기화 mb.name = "씽씽이"; mb.battery = 500; // 메소드 호출 mb.pedal(); // 페달로 이동~ mb.motor(); // 모터로 이동!! ``` ## 문제 주어진 코드로 초심자(Novice)와 마법사(Wizard) 객체를 만들고, 이를 동작시키려 한다. 출력 예와 같은 동작을 하도록, Wizard 클래스를 완성하시오. ## 출력 예 ``` [프로도]의 펀치!! [해리포터]의 펀치!! [해리포터]의 파이어볼@@ ```
관련 강의로 이동

코드: java 1.8

public class RPGTest { public static void main(String[] args) { // 객체 생성 및 초기화 Novice novice = new Novice(); novice.name = "프로도"; novice.hp = 100; Wizard wizard = new Wizard(); wizard.name = "해리포터"; wizard.hp = 120; wizard.mp = 100; // 두 객체의 펀치 novice.punch(); wizard.punch(); // 위자드 객체의 파이어볼 wizard.fireball(); } } class Novice { String name; int hp; public void punch() { System.out.printf("[%s]의 펀치!!\n", name); } } /* 1. Wizard 클래스를 Novice 클래스로부터 확장하세요. */ class Wizard { /* 2. mp 필드를 추가하세요. */ /* 3. fireball() 메소드를 만드세요. */ }

입력

정답이 궁금하다면? 코드를 제출해보세요!