본문 바로가기

프로그래밍/kotlin

코틀린 - 위임

반응형

클래스 위임

 

위임 패턴을

 구현 상속에 좋은 대안이 될 입증하고 있으며, 코 틀린은 기본적으로 제로 상용구 코드를 필요로 지원합니다. 클래스 

Derived

는 인터페이스에서 상속 받고 

Base

모든 public 메서드를 지정된 객체에 위임 할 수 있습니다 .

interface Base {
    fun print()
}

class BaseImpl(val x: Int) : Base {
    override fun print() { print(x) }
}

class Derived(b: Base) : Base by b

fun main(args: Array<String>) {
    val b = BaseImpl(10)
    Derived(b).print() // 10 출력
}

이 

하여

 수퍼 타입 목록에 대한 -clause는 

Derived

그것이 나타내는 

b

물체 내부에 저장한다 

Derived

 컴파일러는 모든 방법을 생성 

Base

하는 것을 전방 

b

.재정의는 예상대로 작동합니다. 컴파일러는 

override

위임 객체 의 구현 대신 구현 을 사용합니다 우리가 추가한다면 

override fun print() { print("abc") }

에 

Derived

, 프로그램은 대신 "10"의 "ABC"를 인쇄 할 것이다.

반응형

'프로그래밍 > kotlin' 카테고리의 다른 글

코틀린 - Enum 클래스  (0) 2021.07.13
코틀린 - 중첩 클래스 및 내부 클래스  (0) 2021.07.13
코틀린 - 위임 프로퍼티  (0) 2021.07.13
코틀린 - 제네릭  (0) 2021.04.26
코틀린 - sealed 클래스  (0) 2021.04.26