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

박민성님의 프로필 이미지
박민성

작성한 질문수

김영한의 실전 자바 - 기본편

상속에서 생성자는 오버라이딩이 안됨

해결된 질문

작성

·

275

·

수정됨

2

상속강의에서 생성자는 오버라이딩이 안된다고 하셨는데 그 이유를 알수있을까요?

제 생각으로는 오버라이딩은 부모-자식관계에서 부모가 가지고있는 클래스의 정보(필드,메서드)를 넘겨주는거라면 생성자는 객체를 생성하는것이기 때문에 부모의 객체정보인 참조값을 자식에게 넘겨준다고 생각하면 말이안된다고 생각합니다. 이게 아니라면 다른이유가 있을까요?

답변 1

2

안녕하세요. 박민성님, 공식 서포터즈 코즈위버입니다.

간단히 말하면 생성자는 오버라이딩 하지 않는 것이 자바의 문법이기 때문입니다 😀

생성자는 클래스를 기반으로 인스턴스(객체)를 생성할 때, '객체가 온전하게 생성되었으며 초기화 되었음'을 보장하는 특수한 메서드 입니다. 그래서 두 객체가 부모관계라 하더라도 초기화에 대한 책임은 자기 자신에게 있습니다.

단, 자식 생성자에서 부모 생성자를 호출(super 키워드 사용, 생성자 체인)하여 상호간 객체 생성을 보장하는 방법을 사용할 수 있습니다.

감사합니다.

박민성님의 프로필 이미지
박민성

작성한 질문수

질문하기