inflearn logo
강의

Course

Instructor

(2026 Latest!) Pass the Information Processing Engineer Practical Exam in One Week

Upcasting (Parent type, Child constructor)

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

Resolved

31

dhkdxo12

41 asked

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 정보처리기사 정보처리산업기사

Answer 2

0

weekendcode

안녕하세요!


질문하신 코드 7번 예제는 문법적으로 틀린 거라서 애초에 실행이 안됩니다.


Java는 프로그래밍 코드를 실행하기 전에 컴파일이라는 문법에 맞게 작성되어 있는지 코드를 평가하는 과정이 있습니다. super라는 키워드가 생성자에서 첫 줄에 없으면 그 과정에서 다음으로 넘어가지를 못합니다. 그래서 애초에 아예 실행 자체가 안됩니다.


이건 언어의 스펙이라서 그냥 받아들이셔야 합니다.

0

communityai8509

안녕하세요, 인프런 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

20

3

섹션 2 - 9강 강의자료 다운로드 문제

0

11

2

29강 3:09

0

13

2

28강 6:42

0

12

2

22강 17:33

0

18

2

75강 26년 1회 코드 문제 해석 강의 질문 드립니다.

0

18

2

모의고사

0

23

1

17강 28:26

0

18

2

C언어 기출문제 변형에서 6번 문제입니다. 20:56

0

17

3

17강 22:38

0

22

2

16강 2:17

0

29

2

부모 및 자식 생성자 출력

0

27

2

9강 35분경 질문있습니다

0

31

2

11강 3:20

0

37

2

10강 11:42

0

39

2

9강 26:23

0

48

2

9강 23:46

0

39

2

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

0

55

2

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

0

38

1

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

0

35

1

SQL 집중학습

0

42

1

NULL과 0

0

48

2

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

0

49

1

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

0

46

2