강의로 돌아가기
-

정답은 맞췄으나, 질문 있습니다.

name, number 이 두가지는 (3)에는 직접 지정 해 주고, (1)과 (2)는 (3)에 있는 것을 바탕으로 this()를 사용하라고 나와 있지않습니까?

그러면 (3)을 먼저 지정 해 준 후에 (1),(2)를 사용해야하는것 아닌가요?

(3) -> (2) -> (1)
(3) public Car(String name, int number){~}
(2) public Car(String name){
~}
(1) public Car(){~~~}
이 순서로 진행되어야 할거같은데


(1) -> (2) -> (3)
(1) public Car(){~}
(2) public Car(String name){
~}
(3) public Car(String name, int number){~~~}

이 두가지가 다 만족하는것인지 궁금합니다!

작성중인 코드―Car.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
    }
}
1 개의 답변
rhfem12345

절차지향적인 코드가 아니라서 두 가지다 동일한 이야기로 알고 있습니다. 각각 생성자 오버로딩을 잘 작성하셧다면 그 생성자가 Car 클래스 안에 어디에 있든 동일하다는 의미로 생각하시면 될 것같습니다. 제가 알고있는 것이아니라면 다른분들도 지적과 조언 부탁드립니다.

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