inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

업캐스팅 (부모 형태, 자식 생성자)

부모 및 자식 생성자 출력 관련

1

dhkdxo12

작성한 질문수 41

0

강의: 업캐스팅(부모 형태, 자식 생성자)

13:29에 나오는 업캐스팅 문제 예시 5번과

15:57에 나오는 업캐스팅 문제 예시 7번 차이에 대해서

A b = new B(1); 둘 다 같은 조건에서

13:29에는 super가 없어도 부모 기본 생성자가 생성되면서 정상 출력이 되는데, 여기에서 super가 없는데 왜 부모 기본 생성자가 출력이 되는지 이해가 안 됩니다.

public B(int i) { System.out.println("생성자 BB" + i); }

 

15:57에는 비록 super가 뒤에 있지만

Public B(int i) {

System.out.println("생성자 BB" + i);

super(10);

문제 예시 5에 따르면 예시 7 역시 부모 기본 생성자가 생성되지 않나요?

python java c 정보처리기사 정보처리산업기사

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. dhkdxo12님.

업캐스팅과 생성자 호출 순서는 자바에서 중요한 개념입니다. 질문하신 문제에 대해 자세히 설명하겠습니다:

생성자 호출 순서 및 super 키워드의 역할

  1. 기본 생성자 호출 규칙:

    • 자식 클래스의 객체를 생성할 때, 컴파일러는 부모 클래스의 기본 생성자를 자동으로 호출합니다. 이것은 자식 클래스의 생성자에서 super()가 명시되지 않았을 때도 마찬가지입니다.
    • super() 호출은 생략 가능하지만, 생략된 경우 컴파일러가 자동으로 추가합니다. 따라서 부모 클래스의 기본 생성자가 호출됩니다.
  2. 매개변수 생성자를 가진 super의 작동:

    • 만약 자식 클래스의 생성자에서 super(10)과 같은 형태로 부모 클래스의 매개변수 있는 생성자를 명시적으로 호출하면, 이 경우에는 명시된 부모의 생성자가 호출됩니다.
    • 이 때, super()가 호출되지 않으므로 부모의 기본 생성자는 호출되지 않습니다.

예시 5번과 7번 코드 비교

  1. 13:29의 예시 5번:

    • super()가 명시되지 않았더라도 부모의 기본 생성자가 호출됩니다. 따라서 “생성자 of A”와 같은 형식으로 부모의 기본 생성자 출력이 발생합니다.
  2. 15:57의 예시 7번:

    • super(10);이 명시적으로 부모 클래스의 매개변수 생성자를 호출하고 있습니다. 따라서 이 예시에서는 부모의 기본 생성자가 호출되지 않습니다. 다만, 자식 생성자의 코드가 실행되므로 자식 생성자 출력이 먼저 나타나게 됩니다.

관련 유사 질문을 확인하세요

  • 업캐스팅과 관련하여 이전 질문과 답변을 통해 비슷한 사례를 이해하시는 것이 좋습니다.
  • - 업캐스팅 문제 예시 6에서는 생성자 호출 순서와 super 키워드에 대한 설명이 있습니다.
  • - 업캐스팅 질문에서는 비슷한 사례를 다루고 있습니다.

이를 바탕으로 생성자 호출 순서를 이해하고 코드 작동 방식을 보다 명확히 알 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

부모 및 자식 생성자 출력

0

1

1

9강 35분경 질문있습니다

0

19

1

11강 3:20

0

20

1

10강 11:42

0

19

1

9강 26:23

0

26

1

9강 23:46

0

22

1

코드 중간에 . 붙은건 뭐라고 봐야할까요?

0

35

2

설명중 단어 의미 해석 문제.

0

25

1

수강 섹션마다 옆에 자료 다운로드 버튼이 있는데. 다운받으면 무슨내용이 있는건가요?

0

20

1

SQL 집중학습

0

40

1

NULL과 0

0

40

2

26년 1회 기출문제 11번 질문드립니다

0

43

1

업캐스팅 문제예시5 & 업캐스팅 문제 예시 6

0

42

2

V1.2 VS V.091

0

48

2

split('T')일때는 T만 제거되는거고 공백은 제거되지 않는 건가요?

0

50

2

파이썬 언어 업데이트, 언어별 학습자료 업데이트

0

48

2

C, java, python 언어 기출문제 강의 질문

0

52

2

1:26 에서 반복문 i[1] 이니까 0 다음 두번째 항목들 아닌가요

0

49

2

d

0

45

2

출력값

0

43

2

(기출) 2023년 3회 코드해석 문제의 1:10입니다.

0

50

2

23년도 2회 c언어 0:03 n[(i+6)%5] 도 가능한건가요?

0

50

2

정처기 질문

0

53

2

자식 기본 생성자 출력 조건

0

45

2