0Pricing
Kotlin Academy · 강의

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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 람다란 무엇인가요? 문법과 타입
  2. 함수에 람다 전달하기
  3. it: 암시적 매개변수
  4. 컬렉션의 filter, map, find
← Kotlin Academy(으)로 돌아가기