합성

    [Kotlin] Delegate Pattern 사용하기

    Delegate Pattern delegate란 말 그대로 '위임'하는 것을 말합니다. 코틀린에서는 by를 통해 어떠한 기능에 대한 수행을 자신이 수행하지 않고 다른 클래스에 위임할 수 있습니다. 이를 Delegate Pattern이라고 합니다. 상속과 합성 상속은 Is-a 관계라고 많이 이야기합니다. 예를 들어 animal 클래스와 animal 클래스를 상속받는 dog 클래스가 있을 때 dog is a animal 이라는 관계가 성립됩니다. 상속은 부모 클래스-자식 클래스 간의 의존성이 높습니다 . 부모 클래스의 변화는 자식 클래스에게도 영향을 미치게 되죠. 부모 클래스-자식 클래스의 관계가 컴파일 시점에 결정되기 때문에 구현을 변경할 수도 없습니다. 이와 같은 높은 결합도는 유연성과 확장성을 떨어뜨립..