코틀린 공식문서에서 it 는 implicit name of a single parameter 입니다.
변역하면 단일 매개변수의 암시적 이름이죠.
it은 람다 표현식에서 단일 매개변수를 자동으로 참조하는 키워드입니다.
즉, 람다의 매개변수가 하나일 때, 명시적으로 변수 이름을 지정하지 않아도 it으로 접근할 수 있습니다.
간단한 예시 코드를 it를 사용하도록 하나씩 변경해봅시다.
val numbers = listOf(1, 2, 3)
val doubled = numbers.stream()
.map({ num -> num * 2 })
.toList()
println(doubled) // [2, 4, 6]
더 간단하게 변경할 수 있습니다.
val numbers = listOf(1, 2, 3)
val doubled = numbers.map { num -> num * 2 }
println(doubled) // [2, 4, 6]
Kotlin에서는 stream()을 사용하지 않아도 됩니다. → 리스트에서 바로 map 사용 가능합니다.
코틀린에서는 고차 함수의 마지막 인자가 람다일 경우, 소괄호 ()를 생략하고 중괄호 {}로 람다를 표현할 수 있습니다.
<aside> ❗
고차 함수
고차 함수는 다른 함수를 인자로 받거나 함수를 반환하는 함수입니다.
코틀린에서는 람다나 함수 참조를 사용해 함수를 값으로 표현할 수 있습니다.
따라서, 고차 함수는 람다나 함수 참조를 인자로 넘길 수 있거나 람다나 함수 참조를 반환하는 함수입니다.
ex. 표준 라이브러리 함수 filter는 술어 함수(반환 값이 boolean값인 함수)를 인자로 받으므로 고차 함수입니다.
list.filter { x > 0 }
</aside>