Delegated Properties

    [Kotlin] Delegated Properties

    일반적으로 프로퍼티는 필요할 때마다 수동으로 구현할 수 있지만, 한 번 구현한 후 필요할 때마다 재사용하는 것이 더 유용하다. 대상은 다음과 같다. Lazy 속성: 최초 접근시에만 값을 계산. Observable 속성: 이 속성의 변경사항을 리스너로 알림. 별도의 필드가 아닌 맵에 속성을 저장. 이 경우들을 처리하기 위해 Kotlin은 Delegated Properties를 지원한다. class Example{ var p: String by Delegate() } 형태는 val/var : by 이다. by 뒤에 붙은 expression이 대리자(delegate)이며, 프로퍼티에 대한 get() / set()을 대리자 getValue() / setValue() 메소드에 위임한다. 프로퍼티 대리자는 인터페이..