강의로 돌아가기
정태천

궁금합니다.

public class Car {
    String name;
    int number;
    Car(){
        this("이름없음",0);
    }
    Car(String name){
        this(name,0);
    }
    Car(String name, int number) {
        this.name = name;
        this.number = number;
    }
}

여기서 2번(Car2)처럼 String만 받을 경우에도 뒤에 0을 넣어주는 이유가 뭔가요?
3번의 생성자를 이용해야 하기때문에 3번에서 사용하는 생성자와 형식이 달라지면 사용할 수 없기때문인가요??
만약 그냥 String만 받으려면

this.name = name;

이 형식밖에는 쓸수가 없는거죠?

1 개의 답변
Demi

네 맞습니다. 두번째 생성자에서는 세번째 생성자를 이용해 객체를 초기화하기 때문에, this(name, 0)과 같이 0을 넣어줍니다. :)

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.