해결된 질문
작성
·
29
답변 2
0
네 맞습니다. 생성자가 자동으로 생기긴 하는데, 아무 내용이 없죠.
클래스명과 같은 메서드가 생성자인데, 코드 상에 생성자도 없고
있다고 하더라도 작성된 것이 없으면 그냥 넘어가는 것입니다.
그래서 그냥 무시하시면 됩니다.
메서드는 재정의했으니까 자식 것만 출력하는 것이고요.
0
안녕하세요, 인프런 AI 인턴입니다. 라따뚜이님.
자바에서 클래스의 상속 관계에서의 생성자 호출은 기본적으로 부모 클래스의 생성자가 먼저 호출되는 것이 규칙입니다. 이는 클래스의 상태가 상위(부모) 클래스에서 하위(자식) 클래스로 확장되기 때문입니다.
질문 주신 상황에서 부모 클래스와 자식 클래스 모두에 기본 생성자가 없는 경우에는 다음과 같은 흐름이 적용됩니다:
기본 생성자가 없음: 만약 부모 클래스에 사용자가 명시적으로 정의한 생성자만 있고 기본 생성자가 없다면, 자식 클래스에서 명시적으로 부모 생성자를 호출하지 않으면 컴파일 오류가 발생할 수 있습니다. 이때는 자식 클래스의 생성자에서 super()
를 사용하여 부모 클래스의 적절한 생성자를 직접 호출해야 합니다.
해결 방법: 자식 클래스에서 적절한 부모 클래스 생성자를 호출하도록 설정하여 에러를 방지할 수 있습니다. 이는 자식 클래스의 첫 번째 줄에서 super(매개변수)
형태로 부모 생성자를 호출하게 됩니다.
추가적으로 유사한 주제를 다룬 질문 및 답변 링크를 제공합니다. 자바의 생성자 호출과 상속 관계에 대한 이해에 도움이 되실 겁니다:
이 답변이 도움이 되셨기를 바랍니다. 추가로 궁금하신 부분이 있다면 언제든지 질문해 주세요. 곧 지식공유자께서도 답변을 드릴 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.