[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
이렇게 시도해봤는데 이건 되는데 무엇을 뜻하는지 모르겠어요..
댓글 입력