코틀린은 코드 재사용과 관련하여 프로퍼티 위임이라는 새로운 기능을 제공한다.
예를 들어 지연 프로퍼티가 있다.
lazy 프로퍼티는 처음 사용하는 요청이 들어올때 초기화 되는 프로퍼티를 의미한다.
코틀린은 위임 프로퍼티를 사용하여 lazy property를 쉽게 구현할 수 있다.
또한 위임 프로퍼티을 사용하면, observable 패턴을 쉽게 만들 수 있다.
var items: List<Item> by Delegates.observable(listOf()){
notifyDataSetChange
}
var key : String? by Delegates.observable(null){_,old,new->
Log.e
}
일반적으로 위임 프로퍼티 메니즘을 활요하면 typeSafety하게 다양한 패턴을 만들수 있다.