[kotlin] 코틀린에서 람다식과 고차 함수를 사용하여 함수 시그니처(function signature)를 작성하는 방법

1. 람다식(Lambda Expressions)

람다식은 익명 함수를 생성하는 방법으로, 변수에 저장하거나 함수의 매개변수로 전달할 수 있습니다. 코틀린에서 람다식은 중괄호로 감싼 파라미터 목록 뒤에 화살표(->)를 사용하여 정의됩니다.

예를 들어, 사용자의 이름을 출력하는 간단한 람다식을 정의해보겠습니다.

val printName: (String) -> Unit = { name -> println("이름: $name") }

위의 코드에서 (String) -> Unit 부분은 람다식의 시그니처입니다. 이 시그니처는 람다식이 하나의 String 파라미터를 받고, 아무것도 반환하지 않음을 나타냅니다.

2. 고차 함수(Higher-Order Functions)

고차 함수는 함수를 파라미터로 받거나 함수를 반환하는 함수입니다. 코틀린에서 고차 함수를 사용하여 람다식을 전달할 수 있으며, 이를 통해 코드의 재사용성과 모듈화를 높일 수 있습니다.

예를 들어, 람다식을 파라미터로 받는 고차 함수를 작성해보겠습니다.

fun doSomethingWithInput(input: String, action: (String) -> Unit) {
    // 입력받은 람다식을 실행
    action(input)
}

// 고차 함수 호출
doSomethingWithInput("코틀린", printName)

위의 예시에서 doSomethingWithInput 함수는 String 타입의 입력과 람다식을 파라미터로 받아 입력된 람다식을 실행합니다.

결론

이와 같이, 코틀린에서 람다식과 고차 함수를 사용하여 함수 시그니처를 작성할 수 있습니다. 이를 통해 간결하고 모듈화된 코드를 작성할 수 있으며, 함수형 프로그래밍의 장점을 살릴 수 있습니다.