고차 함수 (Higher-Order Function)

함수를 만드는 함수

고차 함수 (Higher-Order Function)

고차 함수


1개 이상의 함수를 파라미터로 받는 함수 혹은 함수를 결과로 반환하는 함수를 고차 함수라고 한다.

  • 함수를 파라미터로 넘길 때 : () -> String 과 같이 함수의 타입을 명시해야 한다.
  • 예를 들어 Int 를 파라미터로 받고 String 을 반환하는 함수는 (Int) -> String 과 같이 명시하면 된다.
  • 반환값이 없으면 (Int, Int) -> Unit 과 같이 Unit 을 반환하면 된다.
fun main() {
    val helloWorld: () -> String = { "Hello World!!" }
    val value = getFunction(helloWorld)
    print("${value}")
}

fun getFunction(func: () -> String): () -> String {
    return func
}


// Hello World!!
essential