작성한 질문수
김영한의 실전 자바 - 기본편
작성
·
118
0
Parent p = new Child(); 이런 형식으로
부모는 자식을 품을 수 있으니깐 저렇게 선언하면
Child생성자도 호출이 되는 것 같더라고요.
메서드들은 오버라이딩이 된 것이 아닌 이상 자식 메서드를 사용할 수 없는데
생성자는 생성시에는 자식도 호출이 된다고 생각해야하는걸까요?
답변 1
안녕하세요. 디와이님, 공식 서포터즈 y2gcoder입니다.
객체 생성 시에 타입을 기준으로 생각하시면 좋을 것 같습니다!
Parent p = new Child();
에서 객체 생성하는 코드는 new Child()입니다.
즉 Child 타입으로 Child의 생성자를 이용해서 생성한 객체를 Parent 타입의 변수 p에 대입해주는 것입니다!
이 부분에 대해서 고민해보시면 좋을 것 같습니다
감사합니다.