코틀린 by
-
[Kotlin] by 키워드Kotlin/늦은 초기화 2021. 9. 3. 16:23
1. by를 통한 클래스의 인터페이스 구현을 다른 객체에게 위임 interface A {...} class B : A {...} class C(b : B) : A by b {...} 클래스 C는 인터페이스 A를 구현한다. 클래스 C의 인터페이스 A 구현은 b객체(B클래스)가 A를 구현한 방식으로 구현된다. 클래스 C의 인터페이스 A 구현을 b객체에게 위임한다. 인터페이스의 메서드의 경우 interface Soundable { fun sound() } class Dog : Soundable { override fun sound() { println("멍멍") } } class MyDog(dog: Dog) : Soundable by dog { } fun main() { val dog = Dog() val m..