댓글보면 틀린새기들도 개많은데 형이 정확히 짚어준다.
parent val = new child()가 있다치면
쉽게얘기해서 타입 = 그 객체의 접근권한임 그러므로
parent가 타입이기때문에 parent 타입의 모든 메서드나 필드 변수 사용가능. 그럼 new child()객체에 있는값들은 아예 못쓴다. 생성자제외하고 생성자가 new child()니까
그럼 이 ㅂㅅ같은걸 왜 쓰냐? 상속에선 거의 안쓰고 인터페이스에서 많이쓴다. 어차피 new child객체는 생성자말고는 못쓰니까 그럴빠에 인터페이스로 강제상속 받고 인터페이스 안에만 있는거 쓰면되거든 ㅇㅇ
그리고 다형성으로 저렇게쓰면 parent 객체를 구현받은 클래스들은 parent 타입이기때문에 갈아끼우기가 쉬워서 그런거다.
- dc official App
그냥 난 너가 어떤 타입인지 모름. 근데 메소드는 쓸 수 있음. 이거임
ㅇㅇ 근데 쉽게 설명하면 이거라고 - dc App
참고로 현업에서 상속쓰면 개뚜드려맞고 퇴사당한다 - dc App