# 생성자 정의하기 <div class="embed-responsive embed-responsive-16by9"> <iframe src="https://www.youtube.com/embed/pg5P6fPIS4c?end=370" frameborder="0" allowfullscreen></iframe> </div> 적절한 생성자를 정의하면 객체 생성뿐만 아니라 동시에 초기화까지 할 수 있습니다. 여기서 초기화란, 객체의 초기 상태를 설정하는 것입니다. 예를 들어 콜라 객체를 다음과 같이 생성한다 할 때, ``` Cola c1 = new Cola("코크", 2000); ``` 이를 위한 클래스와 그 생성자는 아래와 같습니다. ``` class Cola { String name; int price; // 생성자: 이름과 가격을 입력 받아 객체를 초기화 Cola(String n, int p) { name = n; price = p; } } ``` ## 문제 아래와 같은 4개의 Hero 객체를 생성하고, 이들에 대한 정보를 출력하려 한다. 주어진 `Hero` 클래스에 생성자를 완성하여, 출력 예와 같은 결과를 얻으시오. - 아이언맨(hp: 80) - 타노스(hp: 160) - 토르(hp: 150) - 그루트(hp: 40) ## 출력 예 ``` Hero { name: 아이언맨, hp: 80 } Hero { name: 타노스, hp: 160 } Hero { name: 토르, hp: 150 } Hero { name: 그루트, hp: 40 } ```
관련 강의로 이동

코드: java 1.8

public class HeroTest { public static void main(String[] args) { // 객체 생성 Hero ironMan = new Hero("아이언맨", 80); Hero thanos = new Hero("타노스", 160); Hero thor = new Hero("토르", 150); Hero groot = new Hero("그루트", 40); // 모든 객체 정보를 출력 System.out.println(ironMan.toStr()); System.out.println(thanos.toStr()); System.out.println(thor.toStr()); System.out.println(groot.toStr()); } } // Hero 클래스 class Hero { // 필드 String name; int hp; // 생성자 Hero(/* 1. 파라미터를 추가하세요. */) { /* 2. 필드 값을 초기화하세요. */ } // 메소드 String toStr() { return String.format("Hero { name: %s, hp: %d }", name, hp); } }

입력

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