인프런 커뮤니티 질문&답변
부모 기본 생성자 관련
해결된 질문
작성
·
25
답변 2
0
안녕하세요!
부모의 기본 생성자가 없어도, 불리지 않으면 정상적으로 동작합니다.
기본 생성자 그 자체만 보자면,
기본 생성자 없는데 기본생성자를 부르면 오류가 나는 경우가 있고, 그렇지 않고 자동으로 만들어줘서 오류가 안나는 경우가 있습니다.
이 경우를 강의에서 길게 다루고 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다. dhkdxo12님 질문 주셔서 감사합니다.
자바에서 클래스 상속 시 객체를 생성할 때 호출되는 생성자에 대한 개념은 조금 복잡할 수 있습니다. 질문하신 내용과 관련된 개념을 정리해드리겠습니다.
부모와 자식 클래스의 생성자 호출: 자식 클래스의 객체를 생성할 때, 자식 클래스의 생성자는 항상 부모 클래스의 생성자를 호출해야 합니다. 기본적으로 명시적이지 않으면
super()구문이 자동으로 삽입되며, 부모 클래스의 기본 생성자를 호출하게 됩니다.부모 기본 생성자의 부재: 만약 부모 클래스에 기본 생성자가 없고, 인자가 있는 생성자만 있다면, 자식 클래스에서 부모의 생성자를 명시적으로 호출해야 합니다. 이를 위해서는 자식 클래스의 생성자에서
super(매개변수)형태로 부모의 특정 생성자를 호출해야 합니다. 따라서, 부모 클래스의 생성자에 맞춰 필요한 인자를 넘겨주어야 합니다.자식 클래스의 기본 생성자와 부모 생성자: 자식 클래스에 기본 생성자가 있는 경우, 만약 부모 클래스에 기본 생성자가 없으면 자식 클래스의 기본 생성자에서 명시적으로 부모 생성자를 호출하지 않으면 컴파일 오류가 발생합니다. 결론적으로 부모의 기본 생성자가 없다면, 자식 클래스의 생성자에서 적절한 부모 생성자를 호출해야 합니다.
이와 관련된 유사 질문과 답변을 참고하시면 더 깊이 있는 이해에 도움이 될 것입니다:
위 링크를 통해 자바 상속과 생성자 호출 관련한 다양한 예제와 설명을 확인해 보시고, 더 궁금하신 부분이 있다면 질문을 남겨주세요. 😊
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





