[Kotlin] Delegates.observable을 이용한 변수가 변경됐을 때 신호 받기

변수가 변경됐을 때를 알기 위해 RxJava의 PublishSubject, BehaviorSubject를 사용했는데, 코틀린 기본으로 이미 지원하고 있었다.

import kotlin.properties.Delegates

var value11: Int by Delegates.observable(1) { property, oldValue, newValue ->
  Log.w("###", "propertyName: ${property.name}, oldValue: $oldValue, newValue: $newValue")
}

이렇게 선언해주고, value11의 값을 바꾸면 이렇게 신호가 온다.

propertyName: value11, oldValue: 1, newValue: 3