학습
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
코드 한 줄씩 동작 설명
fun main()- 프로그램의 시작점인 main 함수를 정의합니다.val sum: (Int, Int) -> Int = { a, b -> a + b }- 두 개의 정수를 받아서 그 합을 반환하는 람다 표현식을sum이라는 변수에 할당합니다.println(sum(5, 3))-sum함수를 호출하여 5와 3을 더하고, 결과를 출력합니다.- 잘못된 코드:
- 올바른 코드:
- 잘못된 코드:
- 올바른 코드:
- 람다 표현식은 코드의 간결성과 가독성을 높이는 데 매우 유용합니다.
- 함수형 프로그래밍에서 자주 사용되며, 고차 함수와 함께 활용됩니다.
- 실생활에서 요리 레시피와 같은 개념으로 이해할 수 있습니다.
- 다음에 학습하면 좋은 주제로는 고차 함수와 컬렉션 함수들이 있습니다. 이를 통해 Kotlin의 강력한 기능을 더욱 활용할 수 있습니다.
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)) // 정상 작동