-
Kotlin Delegate PatternKotlin 2023. 6. 3. 19:07반응형
https://github.com/DNights/KotlinDelegateSample
Kotlin Delegate Pattern 이란?
Kotlin Delegate Pattern은 클래스에서 특정 기능을 제공하지 않더라도 해당 기능을 제공하는 다른 클래스에 위임하는 방법입니다. 이를 통해 클래스는 더 간결하고 유지 관리가 쉬워집니다.
Delegate Pattern을 사용하려면 먼저 Delegate 클래스를 정의해야 합니다. 이 클래스는 클래스가 제공해야 하는 기능을 구현해야 합니다. 그런 다음 클래스에서 Delegate 클래스의 인스턴스를 생성하고 해당 인스턴스를 클래스의 속성에 할당해야 합니다. 클래스의 속성에 값을 할당할 때 Delegate 클래스는 해당 값을 처리하고 클래스에 필요한 기능을 제공합니다.
Delegate Pattern은 클래스를 더 간결하고 유지 관리가 쉬운 방법으로 특정 기능을 제공하는 데 유용합니다. 또한 클래스가 제공하지 않는 기능을 제공하는 데에도 유용합니다.Sample code
interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fun print() { print(x) } } class Derived(b: Base) : Base by b fun main() { val b = BaseImpl(10) Derived(b).print() }
결과 값 10
[참고 자료]
https://kotlinlang.org/docs/delegation.html
https://en.wikipedia.org/wiki/Delegation_pattern
https://medium.com/genetec-tech/the-power-of-kotlin-delegation-e6d45fe85e24
반응형'Kotlin' 카테고리의 다른 글
first-class, High-order function and inline funtion (0) 2023.05.02 kotlinOptions useIR 의 의미는? (0) 2021.12.17 Kotlin Spread Operator (코틀린 스프레드 연산자) (0) 2020.12.16 앱의 미래 : 선언적 UI 와 Kotlin MultiPlatform (Daniele Baroncelli) (0) 2020.12.15 Kotlin Cheat Sheet and Quick Reference (0) 2020.07.23 Kotlin SMA (single abstract method) Conversions (0) 2020.07.22 Introduction to Kotlin coroutines (0) 2019.10.10 lateinit / lazy 의 차이점 (0) 2019.10.04