delegation
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdrc8Ot%2FbtrwGiJZGda%2FerU8C8GnCqZ2XrkQ5wEn21%2Fimg.png)
[Kotlin] Delegation
Delegation 패턴은 상속 처리의 좋은 대안으로, Kotlin은 네이티브 코드에 보일러 플레이트 코드가 필요 없는 이 패턴을 지원한다. 아래 코드에서 클래스 Derived는 인터페이스 Base로부터 상속받아 모든 퍼블릭 메소드를 지정된 객체에 위임 가능하다. 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(10) Derived(b).print() } //result: 10 Derived의 상위 타입 목록에 있는 by는 Derived의 객체 내부에 b가 저장되고..