IMCAT.DEV
로그인 가입
Kotlin 입문 함수형

Kotlin 람다 표현식

Kotlin 람다 표현식 — 초급

람다 표현식

1. 도입 (왜 배워야 하는가)

람다 표현식은 Kotlin에서 매우 중요한 개념입니다. 이는 코드의 간결성과 가독성을 높여주며, 특히 함수형 프로그래밍 스타일을 사용할 수 있게 해줍니다. 실무에서 람다 표현식을 사용하면, 더 적은 코드로 더 많은 일을 할 수 있고, 코드의 유지보수성을 높일 수 있습니다.

예를 들어, 리스트에서 특정 조건을 만족하는 요소를 쉽게 필터링하거나 변환할 수 있습니다. 만약 람다 표현식을 모른다면, 이러한 작업을 더 복잡하고 긴 코드로 구현해야 하며, 이는 오류를 발생시킬 가능성을 높이고, 코드의 이해도를 떨어뜨릴 수 있습니다.

2. 핵심 개념 설명

람다 표현식은 이름이 없는 함수를 정의하는 방법입니다. 일반적으로 함수형 프로그래밍 언어에서 많이 사용되며, Kotlin에서도 매우 유용하게 활용됩니다.

실생활 비유

람다 표현식은 마치 요리 레시피와 같습니다. 레시피에는 특정 재료와 조리 방법이 있지만, 그 자체로는 요리가 되지 않습니다. 요리를 하기 위해서는 레시피를 따라야 하듯이, 람다 표현식도 특정 작업을 수행하기 위해 사용됩니다.

관련 용어 정리

용어설명
람다 표현식이름이 없는 함수를 정의하는 방식
고차 함수함수를 매개변수로 받거나 반환하는 함수
클로저함수가 정의된 환경을 기억하는 함수

3. 기본 코드 예제

다음은 Kotlin에서 람다 표현식을 사용하는 가장 기본적인 예제입니다.

fun main() {
    val sum: (Int, Int) -> Int = { a, b -> a + b }
    println(sum(5, 3))  // 출력: 8
}

실행 결과

8

코드 한 줄씩 동작 설명

  1. fun main() - 프로그램의 시작점인 main 함수를 정의합니다.
  2. val sum: (Int, Int) -> Int = { a, b -> a + b } - 두 개의 정수를 받아서 그 합을 반환하는 람다 표현식을 sum이라는 변수에 할당합니다.
  3. println(sum(5, 3)) - sum 함수를 호출하여 5와 3을 더하고, 결과를 출력합니다.
  4. 4. 실전 활용 예제

    예제 1: 리스트 필터링

    쇼핑몰에서 장바구니에 담긴 상품 중 10,000원 이상의 상품만 필터링할 때 사용할 수 있습니다.

    fun main() {
        val prices = listOf(5000, 15000, 20000, 8000)
        val filteredPrices = prices.filter { it >= 10000 }
        println(filteredPrices)  // 출력: [15000, 20000]
    }

    예제 2: 리스트 변환

    사용자가 입력한 이름 목록에서 모든 이름을 대문자로 변환할 때 유용합니다.

    fun main() {
        val names = listOf("alice", "bob", "charlie")
        val uppercasedNames = names.map { it.toUpperCase() }
        println(uppercasedNames)  // 출력: [ALICE, BOB, CHARLIE]
    }

    5. 흔한 실수와 주의사항

    실수 1: 타입을 잘못 지정하기

    • 잘못된 코드:
    • val sum: (Int) -> Int = { a, b -> a + b }  // 매개변수 수가 맞지 않음
    • 올바른 코드:
    • val sum: (Int, Int) -> Int = { a, b -> a + b }

      실수 2: 람다 표현식의 범위 이해 부족

    • 잘못된 코드:
    • val result = { a: Int -> a * 2 }
      println(result(5))  // 정상 작동
    • 올바른 코드:
    • val result: (Int) -> Int = { a -> a * 2 }
      println(result(5))  // 정상 작동

      6. 정리

    • 람다 표현식은 코드의 간결성과 가독성을 높이는 데 매우 유용합니다.
    • 함수형 프로그래밍에서 자주 사용되며, 고차 함수와 함께 활용됩니다.
    • 실생활에서 요리 레시피와 같은 개념으로 이해할 수 있습니다.
    • 다음에 학습하면 좋은 주제로는 고차 함수와 컬렉션 함수들이 있습니다. 이를 통해 Kotlin의 강력한 기능을 더욱 활용할 수 있습니다.