클래스 내부가 아니더라도 this를 통해 해당 객체의 메서드나 프로퍼티에 직접 접근 할수있다.
람다식을 변수에 담고 함수처럼 호출 가능한데, 예제를 통해 알아보자.
class Customer(val name: String)
val me: (Customer.() -> String) = { // 해당 블록은 this == Customer
"Hello, $name!" // Customer 클래스 외부지만 name이라는 프로퍼티에 접근 가능
}
fun main() {
val customer = Customer("John")
me(customer)
}
물론 변수에 굳이 담아서 활용할 필요는 없지만 처음보는 방식이라서 예제로 활용해봤다.
(아마 Webflux 환경에서는 활용할지도..?)
'Kotlin' 카테고리의 다른 글
연산자 오버로딩(Operator Overloading) (0) | 2024.03.05 |
---|---|
영역 함수(scope functions) (0) | 2024.02.29 |
코틀린의 정적 타입 (0) | 2024.02.19 |
자바에서 코틀린 컬렉션으로 (1) | 2024.02.13 |
확장함수를 사용해 직관적으로 변경하기 (0) | 2024.02.07 |