Develop/Kotlin

[Kotlin] it : 람다 표현식에서의 편리한 매개변수 사용법

DevPi 2024. 9. 2. 14:20
반응형

Kotlin에서는 코드를 간결하고 직관적으로 작성할 수 있도록 여러 가지 편리한 기능을 제공합니다. 그중에서도 it 키워드는 람다 표현식에서 자주 사용되는 암시적 매개변수로, 코드를 깔끔하게 만들어주는 역할을 합니다. 이번 포스팅에서는 Kotlin의 it이 무엇인지, 어떻게 사용하는지, 그리고 사용할 때 주의해야 할 점에 대해 알아보겠습니다.


1. it 이란 무엇인가?

Kotlin에서 it은 단일 매개변수를 가진 람다 표현식에서 사용되는 암시적(implicit) 매개변수입니다. 즉, 람다 표현식이 하나의 인자만 필요로 할 때, 해당 인자를 명시적으로 선언하지 않아도 it이라는 이름으로 자동 참조할 수 있습니다. 이를 통해 코드를 더욱 간결하게 작성할 수 있습니다.

 

기본 사용법

val numbers = listOf(1, 2, 3, 4, 5)

// 각 숫자를 2배로 만드는 람다 표현식
val doubled = numbers.map { it * 2 }

println(doubled)  // 출력: [2, 4, 6, 8, 10]

위 코드에서 map 함수는 리스트의 각 요소에 람다 표현식을 적용합니다. { it * 2 }에서 it은 현재 요소를 가리키며, 이를 2배로 만들어 새로운 리스트를 반환합니다.

 

2. it 사용의 장점

간결하고 깔끔한 코드

it을 사용하면 코드를 더 간결하게 작성할 수 있습니다. 단일 매개변수의 이름을 따로 지정하지 않아도 되기 때문에, 코드가 길어지지 않고 필요한 부분에 집중할 수 있습니다.

 

가독성

코드의 맥락이 명확한 경우, it을 사용하는 것이 코드의 가독성을 높일 수 있습니다. 예를 들어 간단한 수학 연산이나 필터링 작업에서 it은 매우 직관적입니다.

val words = listOf("apple", "banana", "cherry", "date")

// 길이가 5보다 큰 단어만 걸러내기
val longWords = words.filter { it.length > 5 }

println(longWords)  // 출력: [banana, cherry]

위 예제에서 filter 함수는 각 단어의 길이가 5보다 큰지 검사하고, 조건을 만족하는 단어만 리스트에 남깁니다.

 

3. 명시적으로 매개변수 이름 지정하기

때로는 가독성을 높이기 위해 it 대신 매개변수 이름을 명시적으로 지정하는 것이 더 나을 수 있습니다. 특히, 코드가 복잡하거나 it이 무엇을 참조하는지 명확하지 않은 경우에는 명시적인 이름을 사용하세요.

val doubled = numbers.map { number -> number * 2 }

위 코드는 it 대신 number라는 이름을 사용하여 각 요소를 2배로 만듭니다. 이로 인해 코드가 조금 더 명확해질 수 있습니다.

4. 사용 시 주의할 점

가독성 고려

it은 간단하고 편리하지만, 사용 환경에 따라 오히려 혼란을 줄 수 있습니다. 특히, 중첩된 람다 표현식에서는 it이 무엇을 참조하는지 불분명해질 수 있습니다. 이럴 때는 명시적으로 매개변수 이름을 지정하는 것이 좋습니다.

val nestedList = listOf(listOf(1, 2), listOf(3, 4))

// 중첩된 람다 표현식에서의 it 사용
nestedList.forEach { innerList ->
    innerList.forEach { println(it) } // 여기서 it은 innerList의 요소를 가리킴
}

중첩된 람다 표현식에서는 각각의 it이 서로 다른 값을 참조할 수 있으므로, 명시적인 이름을 사용하는 것이 코드를 이해하는 데 도움이 됩니다.


요약

  • it은 단일 매개변수를 가진 람다 표현식에서 자동으로 사용되는 매개변수 이름입니다.
  • 장점: 코드의 간결함과 가독성을 높일 수 있습니다.
  • 명시적 이름 사용: 필요에 따라 매개변수 이름을 명시적으로 선언하여 코드를 더욱 명확하게 작성할 수 있습니다.

Kotlin에서 it을 적절히 사용하면 코드를 더욱 효율적이고 직관적으로 작성할 수 있습니다. 그러나 항상 상황에 맞게 사용하여 코드의 가독성을 유지하는 것이 중요합니다. 이번 포스팅이 it의 사용에 대한 이해를 높이는 데 도움이 되었길 바랍니다.

반응형