* 이 글은 Kotlin 문법에 익숙하다는 것을 전제로 작성했다. interface, inline function, 각종 함수형 패러다임 지원을 위한 문법을 사용할 수 있다면 어렵지 않을 것이다.문제상황자식 클래스가 아주 다양하고, 이들이 다들 비슷한 처리를 요구할 때가 있다. Android의 AudioEffect 같은 경우가 그렇다.처리를 변경할 때 마다 일일이 메서드를 찾아다니기는 무리여서, 자식 클래스들을 효율적으로 관리할 수 있는 방법이 필요했다. 이런 과일 클래스가 있다고 생각해보자. 각 과일은 Fruit로부터 상속받은 여러 메서드를 구현하고 있다. 이 클래스는 더 이상 바꿀 수 없다고 가정하자.interface Fruit { fun buy() fun wash() fun dry(..