[kotlin] 코틀린에서 람다식과 고차 함수를 사용하여 함수를 반환하는 방법
람다식(Lambda Expressions)
람다식은 이름 없이 선언되는 함수로, 주로 다른 함수의 인자로 전달될 수 있거나 반환될 수 있습니다. 코틀린에서 람다식은 중괄호로 감싼 파라미터 목록과 화살표(->
)로 이어진 함수 본문으로 표현됩니다.
예시:
val square: (Int) -> Int = { x -> x * x }
위의 예시에서 square
는 정수를 입력으로 받아 해당 숫자의 제곱을 반환하는 함수입니다.
고차 함수(Higher-Order Functions)
고차 함수는 함수를 파라미터로 받거나 함수를 반환하는 함수입니다. 다시 말해, 고차 함수는 함수를 다루는 함수입니다.
람다식과 고차 함수를 결합하여 함수를 반환하는 예시를 살펴보겠습니다.
fun getCalculatorOperation(operationName: String): (Int, Int) -> Int {
return when (operationName) {
"add" -> { a, b -> a + b }
"subtract" -> { a, b -> a - b }
else -> throw IllegalArgumentException("Unknown operation")
}
}
위의 코드에서 getCalculatorOperation
은 함수를 반환하는 고차 함수입니다. 주어진 operationName
에 따라 덧셈이나 뺄셈을 수행하는 함수를 반환합니다. 호출 방법은 다음과 같습니다.
val addFunction = getCalculatorOperation("add")
val result = addFunction(3, 5) // 결과: 8
위의 예시에서 getCalculatorOperation
함수는 람다식을 사용하여 add
나 subtract
에 따라 다른 함수를 반환하는 것을 보여줍니다.
람다식과 고차 함수를 통해 코틀린에서 함수를 반환하는 방법을 살펴보았습니다. 이를 통해 코드를 더 모듈화하고 유연하게 작성할 수 있습니다.