Kotlin

12. 위임
위임 패턴의 정의 어떤 객체의 조작 일부를 다른 객체에게 넘김 위탁자(delegator) → 수탁자(delegate) 책임을 다른 클래스, 메서드에 떠넘기는 것을 말한다. 클래스 위임 이러한 위임 패턴을 코틀린에선 보일러 플레이트 없이 제공한다. interface Base { //수탁자 delegate fun print() } class BaseImpl(val x: Int) : Base { override fun print() { print(x) } } class Derived(b: Base) : Base by b //위탁자 delegator fun main(args: Array){ val b = BaseImpl(10) Derived(b).print() } 출력결과 10 Derived의 상위 타입에 있는..

11. 오브젝트 식과 선언
하위 클래스를 만들지 않고 특정 클래스를 일부 수정해서 객체를 만들려면 자바에선 익명 클래스를 이용했다. 코틀린은 오브젝트 식과 오브젝트 선언으로 할 수 있다. 오브젝트 식 사용은 다음과 같다. open class A() { open fun printA() } val ab = object : A() { override fun printA() { ... } } 만약 상위 타입이 생성자를 가지면 알맞은 패러미터를 전달하면 된다. 여러개 상속할 경우 콤마로 구분 지을 수 있다. open class A(x: Int) { open val b = x } interface B {...} val ab = object : A(2), B { override val b = 15 } 단순 객체만 필요하면 상속받지 않으면 된다..