Java - 문제 미리보기

문제 2284

hard
다음 코드에서 생성자 호출 순서와 출력 결과가 올바른 것은? ```java class Parent { Parent() { System.out.println("Parent 생성자"); } } class Child extends Parent { Child() { super(); System.out.println("Child 생성자"); } } Child obj = new Child(); ```
A. Child 생성자 → Parent 생성자
B. Parent 생성자 → Child 생성자
C. Child 생성자만 출력
D. 컴파일 에러 발생

정답: B

⦁ 자식 클래스의 객체를 생성할 때, 항상 부모 클래스의 생성자가 먼저 실행됩니다 ⦁ `super()`는 부모 클래스의 생성자를 명시적으로 호출하는 코드입니다 ⦁ 실행 순서: 1. `new Child()` 호출 2. Child 생성자 시작 3. `super()` 실행으로 Parent 생성자 호출 4. "Parent 생성자" 출력 5. Child 생성자의 나머지 부분 실행 6. "Child 생성자" 출력

💡 학습 팁

이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.