Kotlin :: 프로그래밍 언어 배우기 (고차함수)

Android/Kotlin 2020.10.12 댓글 moonsu
728x90

5. 고차함수

고차함수란, 일반 함수의 매개변수나 반환값으로 또 다른 함수가 사용되는 함수를 말한다.

 

먼저 일반적인 함수에서의 인자 전달 예시를 보자

fun sum(a: Int, b: Int){
    return a + b
}

fun main(){
    val result = sum(2, 3)
    println("result = $result")
}

// 결과값
// result = 5

위 코드는 Int타입의 매개변수 두 개를 전달 받아 Int타입의 값을 반환하는 함수이다. 고차함수는 이러한 매개변수나 반환값에 함수를 이용할 수 있다.

fun sum(a: Int, b: Int, div: (Int, Int) -> Int){
    return a + b + div(20, 10)
}

fun main(){
    val result = sum(2, 3, {x, y -> x / y})
    println("result = $result")
}

// 결과값
// result = 7

sum함수는 Int 타입의 매개변수 2개와, div함수(Int 타입 매개변수 2개, 반환값 1개를 갖는)를 매개변수로 갖는다. result 변수에 sum 함수의 값을 전달할 때 마지막 인자(div함수)로 람다식 자료형의 초기화 값을 전달한다.

728x90
반응형

댓글