[Kotlin] apply 함수에서 T.()이 무엇을 의미하는지 모르겠습니다

조회수 622회
fun <T> test(block: (T) -> Unit) {

}
fun <T> test(block: T.() -> Unit) {

}

코틀린에서 apply(), also() 같은 라이브러리 공부중이거든요 근데 여기서 T.()이 이해가 잘안가서요..

첫번째꺼는 이해가 갑니다. T를 매개변수로 받아서 람다식 블록내에서 사용하는것이잖아요?

it 으로 사용가능한것..

근데 두번째꺼는 잘 이해가 안갑니다..

T.()이 무엇을 뜻하는지 모르겠어요. 무엇을 인자로 전달하는 것인지 잘이해가 안갑니다.

람다식 매개변수라면 (T.()) -> Unit 이렇게 되어야할것같은데 이렇게하니 에러가 나구요

block: Int.() -> Unit 이렇게 시도해봤는데 이건 되는데 무엇을 뜻하는지 모르겠어요..

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)