강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

gudwls5225님의 프로필 이미지
gudwls5225

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

(기출) 2023년 1회 코드해석 문제

java 업캐스팅 and 그냥 생성

해결된 질문

작성

·

61

0

단순한 java 질문인데

만약 부모, 자식 class가 있고,

자식이 부모를 상속받고
생성할때

오직 업캐스팅 형태에서만 자식 생성자를 생성할 때 부모 생성자를 만들고 생성하는 건가요?

아니면 업캐스팅이 아닌 일반적으로 자식 생성자를 생성할때도 부모 생성자를 불러서 생성해야 하나요?

 

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

Java라는 언어 모두에서 자식 객체가 태어나려면 부모가 먼저 생성되어야 합니다. 형태와 상관없이 프로그래밍 언어의 패러다임 자체가 그렇습니다.

0

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

자바에서 상속을 다루실 때, 객체 생성 과정에서의 생성자 호출 순서는 매우 중요합니다. 자주 혼동이 되는 부분이기도 하죠.

생성자 호출 순서 및 업캐스팅

  1. 일반적인 생성자의 경우:

    • 자식 클래스의 객체를 생성할 때는, 업캐스팅 여부와 상관없이 부모 클래스의 생성자가 항상 먼저 호출됩니다. 이는 객체가 생성될 때 부모 클래스부터 초기화되어야 하기 때문입니다.
    • 즉, 자식 객체 생성 -> 부모 생성자 호출 -> 자식 생성자 호출의 순서로 실행됩니다.
  2. 업캐스팅된 경우:

    • 업캐스팅이 이루어졌다고 해서 생성자 호출에 특별한 변화는 없습니다. 자식 클래스의 객체가 부모 타입으로 참조될 뿐이며, 객체 생성 단계에서는 부모 생성자가 호출된 후에 자식 생성자가 호출된다는 기본 로직은 동일합니다.

자바의 상속과 생성자 호출에 대한 개념에 대한 깊이 있는 설명이 필요하시면, 아래 관련 질문과 답변들을 통해 더 많은 정보를 얻으실 수 있습니다:

이 설명이 도움이 되셨기를 바라며, 추가적으로 궁금한 점이 있으시면 언제든지 질문해 주세요.

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

gudwls5225님의 프로필 이미지
gudwls5225

작성한 질문수

질문하기