Effective Kotlin class design
-
[ Effective Kotlin ] Chapter 6 - Class design카테고리 없음 2024. 3. 14. 19:27
Item 36 : Prefer composition over inheritance 상속은 객체의 계층 구조가 'is-a' 관계를 갖도록 설계되었다. 단순히 코드를 재사용하기 위해 상속을 사용하는 경우에는 적절하지 않으며, 더 가벼운 방법인 'Composition'을 사용하는 것이 좋다. Simple behavior reuse 예를 들어, 프로그래스바 표시와 숨김을 처리하는 비슷한 로직이 있는 두 클래스가 있고, 이를 상속을 통해 공통된 로직을 추출하면 다음과 같을 것이다. abstract class LoaderWithProgress { fun load() { // show progress innerLoad() // hide progress } abstract fun innerLoad() } class P..