위임 모델
위임 패턴은 개체가 상속과 같은 방식으로 코드를 재사용할 수 있도록 하는 개체 지향 디자인 패턴입니다.
- 예제 소스(kotlin)
class Rectangle (val width: Int, val height: Int) { fun area() = width * height }
클래스 창(값 범위: 직사각형) {
// 위임
fun area() = bounds.area()
}
코틀린에서는 Deligation에 대한 특별한 기능이 내장되어 있어 다음과 같이 작성할 수 있다.
```kt
interface ClosedShape {
fun area() : Int
}
class Rectangle (val width: Int, val height: Int): ClosedShape {
overriade fun area() = width * height
}
class Window (private val bounds: ClosedShape): ClosedShape by bounds