Img profile default
헬로월드
  • 2016.6.26 11:09
  • 조회수 216
  • 답변수 2
Img profile default
헬로월드
  • 2016.6.26 11:09
  • 조회수 216
  • 답변수 2

어디 부분이 틀린건지 모르겠습니다..

흠,,

Car.java
public class Car{
    String name;
    int number;

  public Car(){
    name = "이름없음";
    number = 0;
  }

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

  public Car(String name, int number){
    this.name = name;
    this.number = number;
  }
}
CarExam.java
//실행을 위한 코드입니다.
public class CarExam{
    public static void main(String[] args){
        Car car1 = new Car();
        Car car2 = new Car("자동차");
        Car car3 = new Car("자동차",1234);
    }
}
  • #자바 입문
  • #생성자 오버로딩과 this - 실습

2 답변

  • Img profile default
    양경섭
    • 2016.6.26 19:34

    첫번째 부분에는 this를 사용하여 this("이름없음",0); 이렇게 초기화 하고,
    두번째 부분에 number는 두번째 메소드에 선언되어 있지 않기 때문에 따로 표현할 수는 없구요.
    name은 두번째 메소드에 선언되어 있기 때문에 this.name = name; 이 사용 가능하지만,
    this(name); 이렇게도 사용이 가능합니다.
    그렇기 때문에 두개다 모두 표현해주기 위해서는 this(name,0); 이렇게 해주시면 됩니다.

    세번째 부분은 맞습니다.

  • Spgjnhnsidwygch8ddkd
    Chandler
    • 2016.6.27 15:59

    추가로 답변 드리자면, 작성하신 코드의 문법은 틀리지 않았습니다.
    그러나 문제에 마지막에

    단, (1)과 (2)에서는 직접 name과 number에 값을 넣지 말고 (3)을 이용하세요.
    this( )를 이용하면 됩니다.

    이런 조건이 있기때문에 작성하신 코드가 틀렸다고 나오는 것 입니다.

답변 쓰기

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