부모의 생성자 출력 관련
1
48 asked
상송과 생성자 호출순서 10:23
public class Main {
public static void main(String[] args) { ElectricCar tesla = new ElectricCar("Tesla", 2021, 75);
}
}
위 코드에서 출력 값이 아래와 같이 출력되는 것은 이해했습니다.
Car(Tesla, 2021)
ECar(75)
만약 메인 구문이 아래와 같이 객체가 2개 적혀있다면 출력 값을 어떻게 되나요?
public class Main {
public static void main(String[] args) { ElectricCar tesla = new ElectricCar("Tesla", 2021, 75);
ElectricCar toyota = new ElectricCar("toyota", 2023, 80);
}
}
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. dhkdxo12님!
new ElectricCar(...)가 두 번 실행되므로 객체가 생성될 때마다 부모 클래스인 Car의 생성자가 먼저 호출되고, 이어서 자식 클래스인 ElectricCar의 생성자가 호출됩니다.
따라서 출력 순서는 다음과 같습니다.
Car(Tesla, 2021)
ECar(75)
Car(toyota, 2023)
ECar(80)
첫 번째 객체 생성 과정은 다음과 같습니다.
ElectricCar tesla = new ElectricCar("Tesla", 2021, 75);
Car("Tesla", 2021)호출
Car(Tesla, 2021)출력
ElectricCar("Tesla", 2021, 75)의 나머지 생성 과정 실행
ECar(75)출력
두 번째 객체도 동일하게 부모 생성자가 먼저 실행된 후 자식 생성자가 실행됩니다.
ElectricCar toyota = new ElectricCar("toyota", 2023, 80);
즉, 객체를 생성하는 new ElectricCar(...)가 실행될 때마다 부모 생성자와 자식 생성자가 각각 한 번씩 호출됩니다.
관련된 생성자 호출 및 기본 생성자 내용을 다룬 기존 답변도 참고해 주세요.
이 글에서도 new 뒤에 작성된 생성자가 호출되며, 자식 객체를 생성할 때 부모 생성자가 먼저 호출된다는 점을 설명하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
이론파트 재탕문제
0
11
0
누락코드
0
10
1
다차원 배열 포인터 질문있습니다
0
16
2
이론 파트 재탕
0
22
1
모의고사 5회
0
17
0
12분 10초 func(values, 0, 1)을 넣을 때
0
17
1
모의고사 1회 4번 문제와 관련한 질문이 있습니다.
0
17
2
재탕문제
0
46
1
재탕문제
0
28
0
파이썬 추가 코드
0
48
1
배열 포인터 출력 표시
0
52
2
포인터 증감 또는 값 증감
0
49
2
배열 포인터 함수 관련
0
45
2
실기 이론 통합 요약본 버전
0
56
2
업캐스팅 3번 문제 예시
0
62
2
push pop 설명 되어있는 강의가 몇강인가요?
0
50
1
모의고사 파일오류
1
82
3
모의고사 다운
0
57
1
업캐스팅 원칙
0
69
2
6분46초
0
59
2
공략법
0
68
1
모의고사 파일과 이론파일 업데이트
1
79
3
이론 pdf 다운은 어디서 하나요?
0
75
2
13분 40초
1
73
2

