해결된 질문
작성
·
199
1
Parent parent = new child(); 라고하면 parent가 child의 기능을 가질수 있다는건데,
new child()는 child()의 객체의 참조값을 가지니까 parent가 접근할수있다는것을 이해했는데
parent는 생성자를 안만들어줬는데도 접근할수가있나요?
Parent parent = new Parent(); 같이 객체를 만들어줬을때 저장이되면서 참조값을 parent에 전달한다고 알고있는데 Parent parent = new child(); 는 child의 참조값만 알고 Parent는 모르는거아닌가요? 상속이라고해도 parent는 객체를 안만들어줬지 않나요?
답변 1
1
안녕하세요. 박민성님
Q1: Parent parent = new child(); 라고하면 parent가 child의 기능을 가질수 있다는건데,
new child()는 child()의 객체의 참조값을 가지니까 parent가 접근할수있다는것을 이해했는데
parent는 생성자를 안만들어줬는데도 접근할수가있나요?
A1: 상속 관계의 경우 자식을 new로 만들면 부모도 메모리 상에 함께 생성됩니다.
그리고 다음 강의를 복습해보시면 심지어 부모의 생성자도 반드시 호출되는 것을 확인할 수 있습니다.
상속 -> super - 생성자
Q2: Parent parent = new Parent(); 같이 객체를 만들어줬을때 저장이되면서 참조값을 parent에 전달한다고 알고있는데 Parent parent = new child(); 는 child의 참조값만 알고 Parent는 모르는거아닌가요? 상속이라고해도 parent는 객체를 안만들어줬지 않나요?
A2: new Child를 생성하면 참조는 하나이지만 그 안에 Parent도 함께 생성됩니다. 상속 관계에서는 부모도 함께 만들어줍니다. 다음 내용을 복습해주세요 🙂
상속 -> 상속과 메모리 구조
감사합니다.