만약 예를들어 B C D E F G라는 자식클래스를 A라는 부모클래스로 관리한다고 가정한다면,
A에 선언된 공통적인 요소들이 BCD...G에 있겠지만,
B에만 있는 고유한 멤버변수인 hp,mp가 있고,
C에만 있는 고유 멤버변수인 wis, int가 있습니다.
부모의 이름으로 자식을 관리한다면,
A a = new b();
a.hp 안됨
a.mp 안됨
a. wis 안됨
a. int 안됨..
이렇게 제한적이 되어 버리는데
단지 부모에서 선언해놓은 메서드를 자식이 오버라이딩 해서 각각 어떤 동작을 할 수 있다는 이점은 있지만
위와 같은 경우에는 상속을 통하여 부모의 이름으로 자식을 관리하는
이점이 의미가 없는 상황 아닌가요?
위와 같은 상황이라면 굳이 상속을 통해 부모의 이름으로 자식을 관리해야하나요?