Kotlin

    12. 위임

    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. 오브젝트 식과 선언

    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 } 단순 객체만 필요하면 상속받지 않으면 된다..