Delegation 은 코틀린에서 지원하는 문법적 기능 중 하나인데, 이는 Delegation Pattern 의 Boiler Plate 를 줄여주는 Sugar Syntex 중 하나이다. Delegation Pattern 은 쉽게 말해 상속이 아닌 다른 객체에게 세부 구현을 위임하는 것이다. 공식문서의 예제를 한번 살펴보자. interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fun print() { print(x) } } class Derived(b: Base) : Base by b fun main() { val b = BaseImpl(4) Derived(b).print() } 위의 예제는 Derived 의 내부 인터페이..