구독을 신청하세요!

평생 구독! 19,800 원(이벤트 기간 한정)


기업은행: 206-021800-01-029

예금주: 박세홍


카톡 ID: chaesam

이메일: mail@cloudstudying.kr

# super - 상속과 생성자 #### 1층이 있어야, 2층을 만든다 자식 객체를 생성과 동시에 초기화하려면, 먼저 부모의 생성자가 호출돼야만 합니다. 이를 위한 키워드! 바로 <kbd>super</kbd> 되겠습니다. ``` // 생성자 호출 영역 Wizard w = new Wizard("프로도", 100, 80); // 생성자 정의 영역 class Novice { protected String name; protected int hp; public Novice(String name, int hp) { this.name = name; this.hp = hp; } } class Wizard extends Novice { protected int mp public Wizard(String name, int hp, int mp) { super(name, hp); // 부모 클래스 생성자 호출 this.mp = mp; } } ``` ## 문제 주어진 코드를 분석 및 수정하여, 출력 예와 같은 결과를 얻으시오. ## 출력 예 ``` Orc { name: 오크, hp: 80 } OrcWarrior { name: 오크전사, hp: 120, amor: 3 } ```
관련 강의로 이동

코드: java 1.8

public class SuperTest { public static void main(String[] args) { /* 1. Orc 객체를 만들고 정보를 출력하시오. */ /* 2. OrcWarrior 객체를 만들고 정보를 출력하시오. */ } } class Orc { protected String name; protected int hp; public Orc(String name, int hp) { this.name = name; this.hp = hp; } public String toString() { return String.format("Orc { name: %s, hp: %d }", this.name, this.hp); } } class OrcWarrior extends Orc { protected int amor; public OrcWarrior(String name, int hp, int amor) { super(name, hp); this.amor = amor; } // 메소드 오버라이딩! public String toString() { return String.format("OrcWarrior { name: %s, hp: %d, amor: %d }", super.name, super.hp, this.amor); } }

입력

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