마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

상속의 이점이 무엇인가요?

0 추천
만약 예를들어 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 안됨..

이렇게 제한적이 되어 버리는데

단지 부모에서 선언해놓은 메서드를 자식이 오버라이딩 해서 각각 어떤 동작을 할 수 있다는 이점은 있지만

위와 같은 경우에는 상속을 통하여 부모의 이름으로 자식을 관리하는

이점이 의미가 없는 상황 아닌가요?

위와 같은 상황이라면 굳이 상속을 통해 부모의 이름으로 자식을 관리해야하나요?
갸아악 (21,260 포인트) 님이 2013년 4월 30일 질문
현재 상황에서 필요없다고 생각되시면 안쓰면됩니다ㅎㅎ
필요할때만 쓰면 되니까요~

1개의 답변

+1 추천
 
채택된 답변
제생각에

1. 코드의 재활용성

   공통된 코드를 구지 b,c,d,e,f등에 똑같이 써야한다면 번거롭기때문에 부모인 a를 만들고 자식들에게 상속한다.

2. 공통의 규약을 형성하여 관리

    공통된 규약을 정해서 상속받은 자식클래스는 부모가 가진 기능을 상속받아 사용하거나 혹은 그것을 오버라이딩하여 다른 기능으로 탈바꿈이 가능하다.

3. 관리가 용이

    상속한 a클레스의 기능에 문제가있어 이것을 수정할 사항이 온다면 수정시 각 상속받은 bcdef등에 모두 적용되어 관리가 용이하다.

 

개인적으로 이정도라고 생각합니다.
극마 (1,340 포인트) 님이 2013년 4월 30일 답변
갸아악님이 2014년 9월 19일 채택됨
...