상속! 악마의 속삭임, 그 속에 숨겨진 문제점, Kotlin에서는 Delegation을 활용해 보자.
Java에서 설계할 때 매우 익숙하게 하는 게 있다. 바로 Base를 상속 구조로 만드는 것.
상속은 매우 쉽게 생각할 수 있고, 공통 작업을 분리할 때 매우 유용하게 사용할 수 있다.
Kotlin에서는 상속보다는 Delegation을 사용하라고 하는데, 상속 대신 Delegation을 사용할 때의 장점을 알아본다.
이 내용도 결국 Effective Java 3판에 잘 나오는데 아래 내용을 참고하면 좋다.
- 아이템 18 : 상속보다는 컴포지션(Composition)을 사용하라
- 아이템 19 : 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라
이 글에서 알아볼 내용
- 상속을 알아보고, 상속의 단점을 알아보다.
- Composition을 알아본다.
- Kotlin의 Delegation을 알아본다.