
182
자바에서 코틀린으로
val methodReference: (Customer.() -> String) =
Customer::fullName
val extensionFunctionReference: (Customer.() -> String) =
Customer::nameForMarketing
val methodAsFunctionReference: (Customer) -> String =
methodReference
val extensionAsFunctionReference: (Customer) -> String =
extensionFunctionReference
각 참조의 타입에 따라 예상대로 이들을 호출할 수 있다.
customer.methodReference()
customer.extensionFunctionReference()
methodAsFunctionReference(customer)
extensionAsFunctionReference(customer)
확장 함수에 대한 참조의 경우 마치 수신 객체가 첫 번째 인자인 것처럼 수신 객체를 사용하는
(
with
-
receiver
) 참조를 사용해 호출할 수도 있다.
methodReference(customer)
extensionFunctionReference(customer)
하지만 일반