# 생성자 정의하기 #### 생성자의 역할? 적절한 생성자를 정의하면 "객체 생성"뿐만 아니라 동시에 "초기화"까지 할 수 있습니다. 여기서 초기화란, 객체의 초기값을 설정하는 것입니다. #### 생성자 호출 예 예를 들어 콜라 객체를 다음과 같이 생성한다 할 때, ``` 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); } }

입력

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