삽질의 현장/- ETC

[삽잡이] 객체지향 - 상속

shovelman 2015. 10. 26. 23:56


안녕하세요 삽잡이입니다.


이번 시간에는 상속과 다형성에 대해서 알아보겠습니다.


상속에서는 '코드 재사용'이 가장 기본적인 개념입니다.



Object형 하나가 있다고 해봅시다.

이 Object를 상속받아서 Car 클래스가 만들어진다고 해보겠습니다.

그렇다면 Object에서 만들어졌던 기능을 Car에서 구현할 필요가 없지 않습니까...

따라서, Car가 Object 코드를 '재사용'했다고 볼 수 있습니다.


또한 Object를 상속받아서 만들어진 Radio가 있다고 해보겠습니다.

이 녀석도 상속을 받고 기능을 재사용할 수 있습니다.


그런데 Car의 클래스에서 Radio 클래스를 사용한다면 어떨까요?

Car는 Radio의 기능을 구현하지 않고 기능을 가져다 쓴 것입니다. 

이 또한 재사용입니다.

하지만, 포함관계이지요...


상속과 포함은 다릅니다.

Object와 Car는 상속(is - a)관계이지만,

Object와 Radio는 포함(has - a)관계입니다.


이상 삽잡이였습니다!