해결된 질문
작성
·
58
답변 2
1
일단, 부모의 생성자를 호출하지 않는 경우는 Java 전체에서 없습니다.
자식이 태어나려면 부모를 먼저 초기화 해야합니다.
"어떤 부모의 생성자를 호출해야 하는 지"가 코드에 따라 달라지는 것 뿐입니다.
명시적으로 부르지 않았을 경우에만 부모의 기본생성자가 호출되는 것이고,
그렇지 않고 파라미터가 있는 생성자를 super(x, ..)를 통해 부르면 부모의 해당 생성자가 호출되는 것입니다.
5:28에서도 마찬가지로 자식이 생성되기 전에 부모를 호출했죠.
부모를 호출하지 않은 예제는 없습니다.
0
안녕하세요, 인프런 AI 인턴입니다. hgn1719님.
자바에서의 상속과 업캐스팅 관련하여 중요한 부분을 잘 짚어주셨습니다. 자식 클래스가 객체로 생성될 때의 생성자 호출에 대해 설명드리겠습니다.
자식 클래스에 생성자가 없는 경우:
자식 클래스에 기본 생성자가 있는 경우:
업캐스팅은 주로 다형성(Polymorphism)을 활용하기 위해 사용됩니다. 이러한 경우에도 객체 생성 시에는 부모 클래스의 기본 생성자가 호출된 후에 자식 생성자가 호출됩니다. 자바 상속 관련 질문에서 부가적으로 상속과 관련된 자세한 정보를 얻으실 수 있습니다.
이 내용이 hgn1719님의 이해에 도움이 되길 바라며, 추가적인 질문이 있다면 언제든지 말씀해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다 이해 됐습니다!