# 상속을 통한 클래스 확장 #### 상속이란? 상속은 기존 클래스(A)를 확장하여 새로운 클래스(B)를 만드는 것입니다. 이를 위해 <kbd>extends</kbd> 키워드를 사용합니다. 이렇게 확장된 클래스는, 기존 클래스의 모든 속성을 물려받게 됩니다. ``` // 기존 클래스 class A { ... } // 확장된 새로운 클래스 class B extends A { ... } ``` #### 코드 예 아래는 상속 코드의 예입니다. ![클라우드스터딩-자바-상속-클래스다이어그램-코드-예](https://i.imgur.com/RRyJy32.png) 위 코드의 MotorBicycle은 Bicycle의 기본 속성(이름, 페달 이동)을 기반으로, 추가 속성(배터리, 모터 이동)을 가집니다. 따라서 아래와 같은 코드 사용이 가능합니다. ``` // 객체 생성 MotorBicycle mb = new MotorBicycle(); // 필드 초기화 mb.name = "씽씽이"; mb.battery = 500; // 메소드 호출 mb.pedal(); // 페달로 이동~ mb.motor(); // 모터로 이동!! ``` ## 문제 주어진 다이어그램과 코드를 토대로 프로그램을 동작시키려 한다. ![클라우드스터딩-자바-상속-확장하기-extends](https://i.imgur.com/qv54DoY.png) 주어진 코드의 수행결과가 출력 예와 같도록, 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() 메소드를 만드세요. */ }

입력

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