it: 암시적 매개변수
매개변수가 하나인 람다에서 암시적 it 매개변수를 사용해 보세요.
it: 암시적 매개변수은(는) CoddyKit의 무료 Kotlin Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Kotlin Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
암시적 it
람다에 매개변수가 정확히 하나 있으면 매개변수 선언을 생략하고 it으로 참조할 수 있습니다. 짧은 데이터 처리 흐름에서 입력할 코드를 줄여 줍니다.
forEach의 it
대표적인 예로, forEach는 각 요소를 it으로 전달합니다.
fun main() {
listOf(1, 2, 3).forEach { println(it) }
}map의 it
it을 입력으로 사용하여 각 요소를 변환합니다.
fun main() {
val doubled = listOf(1, 2, 3).map { it * 2 }
println(doubled) // [2, 4, 6]
}filter의 it
filter는 람다가 true를 반환하는 요소를 유지합니다. it은 현재 요소를 나타냅니다.
fun main() {
val evens = listOf(1, 2, 3, 4, 5).filter { it % 2 == 0 }
println(evens) // [2, 4]
}it을 사용하지 않아야 할 때
람다 본문이 단순하지 않다면 매개변수 이름을 명시적으로 지정하십시오. 축약된 it보다 이름을 지정하는 편이 코드를 더 명확하게 만듭니다.
fun main() {
val users = listOf("alice", "bob")
// OK
users.forEach { println(it) }
// Clearer with a name when body is bigger
users.forEach { name ->
println("User: $name length=${name.length}")
}
}중첩 람다의 it
중첩 람다에서는 주의하십시오. 각 it은 가장 안쪽 람다에 바인딩됩니다. 매개변수 이름을 지정하면 모호함을 피할 수 있습니다.
fun main() {
val nested = listOf(listOf(1, 2), listOf(3, 4))
// Both lambdas use it — confusing!
nested.forEach { outer ->
outer.forEach { inner ->
println("$outer -> $inner")
}
}
}문자열 메서드와 it
일반적인 패턴은 it을 사용하여 문자열을 필터링하거나 매핑하는 것입니다.
fun main() {
val names = listOf("Alice", "bob", "Charlie")
val upper = names.map { it.uppercase() }
println(upper)
}프로퍼티와 it
연산을 연결할 때 it.property는 필드에 접근하는 깔끔한 방법입니다.
data class Person(val name: String, val age: Int)
fun main() {
val people = listOf(Person("Ana", 20), Person("Ben", 35))
val names = people.map { it.name }
println(names) // [Ana, Ben]
}it을 사용하는 조건자
조건자(Boolean을 반환하는 람다)는 it을 사용하면 자연스럽게 읽힙니다.
fun main() {
val nums = listOf(1, 4, 7, 9)
println(nums.any { it > 5 }) // true
println(nums.all { it > 0 }) // true
println(nums.none { it < 0 }) // true
}it을 사용하는 사용자 지정 함수
매개변수가 하나인 람다를 받는 고차 함수라면 무엇이든 it을 자동으로 제공합니다.
fun <T> List<T>.firstWhere(predicate: (T) -> Boolean): T? {
for (item in this) if (predicate(item)) return item
return null
}
fun main() {
val n = listOf(3, 8, 4, 5).firstWhere { it > 5 }
println(n) // 8
}범위 함수 내부의 it
일부 범위 함수(let, also)는 it을 수신 객체로 사용하고, 다른 함수(apply, run)는 this를 사용합니다. 수신 객체를 명시적으로 참조할지에 따라 선택하십시오.
fun main() {
val name: String? = "Kotlin"
name?.let { println("hello $it") } // it = name
}빠른 확인
람다 매개변수의 이름을 지정하는 대신 it을 사용할 수 있는 경우는 언제입니까?
복습
it은 매개변수가 하나인 람다에서 유일한 매개변수의 암시적 이름입니다. 짧은 람다를 간결하게 만들 때 사용하십시오. 본문이 길어지거나 중첩으로 인해 혼동될 수 있다면 매개변수 이름을 명시적으로 지정하십시오.
자주 묻는 질문
“it: 암시적 매개변수” 강의는 무료인가요?
네 — “it: 암시적 매개변수” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Kotlin Academy 강의 전체를 잠금 해제할 수 있습니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“it: 암시적 매개변수”에서 뭘 배우나요?
매개변수가 하나인 람다에서 암시적 it 매개변수를 사용해 보세요. 브라우저에서 직접 실행하는 실습 코드로 Kotlin Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Kotlin Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Kotlin Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“it: 암시적 매개변수” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Kotlin Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Kotlin Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.