빈티지 테라피

Kotlin으로 시작하는 함수형 프로그래밍 본문

코드 테라피

Kotlin으로 시작하는 함수형 프로그래밍

밍키스튜디오 2023. 9. 14. 08:02
반응형

Kotlin은 객체지향 프로그래밍뿐만 아니라 함수형 프로그래밍 패러다임을 지원하는 현대적인 언어입니다. 이 글에서는 Kotlin을 사용하여 함수형 프로그래밍에 대해 알아보겠습니다.

 

목차

  1. 함수형 프로그래밍이란?
  2. Kotlin에서의 함수
  3. 고차함수와 람다식
  4. 컬렉션 처리: map, filter, reduce

 

1. 함수형 프로그래밍이란?

함수형 프로그래밍은 순수한(pure) 함수를 사용하고, 상태 변경과 가변 데이터를 피하는 것을 중점으로 두는 코딩 방식입니다.


 

2. Kotlin에서의 함수

Kotlin에서는 fun 키워드를 사용하여 함수를 선언합니다.

// 간단한 인사말 출력 함수
fun greet(name: String): String {
    return "Hello, $name"
}

println(greet("World")) // Hello, World

 

3. 고차함수와 람다식

고차함수는 다른 함수를 인자로 받거나 결과로 반환하는 함수입니다.

// 고차함수 예제
fun calculate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
    return operation(a,b)
}

val sum = calculate(5, 10) { x,y -> x + y }
println(sum) // 15

람다식은 이름 없이 작성된 단일 식별자의 본문으로 구성된 익명의 파라미터화된 코드 블록입니다.

val multiply = { a: Int, b: Int -> a * b }
println(multiply(5 ,10)) // 50

 

4. 컬렉션 처리 : map , filter , reduce

map, filter, reduce 등의 연산들은 컬렉션에 대한 일괄적인 작업을 수행하기 위해 자주 사용됩니다.

val numbers = listOf(1,2,3)

// map 
val squares = numbers.map { it * it }
println(squares) // [1 ,4 ,9]

// filter
val evenNumbers = numbers.filter { it % 2 == 0 }
println(evenNumbers) // [2]

// reduce
val product = numbers.reduce { acc, i -> acc * i }
println(product) // 6

이상으로 Kotlin을 이용한 함수형 프로그래밍에 대해 알아보았습니다. 함수형 프로그래밍은 코드를 간결하게 만들고, 버그를 줄이며, 테스트와 디버깅을 쉽게 해줍니다. Kotlin의 강력한 기능을 활용하여 더 효과적인 코드를 작성해 보세요!

반응형