강의로 돌아가기
김윤재

답은 맞췄는데 궁금한점이 있스빈다.

public Car(){
this(이름없음, 0);
}

여기서 기본 생성자에 이름없음과 0을 호출하는 생성자를 만들었지않습니까?

public Car(String name){
this(name, 0);

}

// 그렇다면 여기서 name만 입력하게되면 기본생성자의 this()에 의해 0이 나오는거아닌가요? 왜
이렇게 또 this(name, 0) 을 해줘야하나요?

public Car(String name, int number){
this.name = name;
this.number = number;
}

작성중인 코드―Car.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Car{
    String name;
    int number;

public Car(){
  this("이름없음", 0);
}
public Car(String name){
  this(name, 0);
}
public Car(String name, int number){
  this.name = name;
  this.number = number;
}
}
작성중인 코드―CarExam.java
1
2
3
4
5
6
7
8
//실행을 위한 코드입니다.
public class CarExam{
    public static void main(String[] args){
        Car car1 = new Car();
        Car car2 = new Car("자동차");
        Car car3 = new Car("자동차",1234);
    }
}
  • -
    아래 CarExam 클래스에 보시면 두번째 인스턴스 보시면 매개변수가 하나만 존재하는 생성자를 객체화 하고있습니다..그렇기 때문에 매개변수를 하나만 받아드리는 생성자를 추가하여 값을 출력 하도록 합니다. 하지만 말씀대로 두번째 public Car(String name){ this(name, 0) } 을 사용 하지 않을려면 CarExam 클래스에서 두번째 객체화 하여 사용할때 뒤에 들어가는 인자값에 0을 추가하는것이 좋다고 봅니다. ex) Car car2 = new Car(""자동차",0); - 2018.07.19 20:59
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.