Kotlin 앱 프로그래밍

(코틀린) 고차 함수

쿠카이든 2023. 5. 21. 18:29
728x90
  • 고차 함수(high order fuction)란 함수를 매개변수로 전달받거나 반환하는 함수를 의미합니다.
    • 일반적으로 함수의 매개변수나 반환값은 데이터입니다.
    • 그런데 데이터가 아닌 함수를 매개변수나 반환값으로 이용하는 함수를 고차 함수라 합니다.
    • 이처럼 함수를 매개변수나 반환값으로 이용할 수 있는 것은 앞에서 살펴보았듯이 함수를 변수에 대입할 수 있기 떄문입니다.
  • 다음 코드에서 hofFun()은 고차 함수입니다.
    • 매개변수를 하나 선언했지만 타입이 함수입니다.
    • 따라서 이 함수를 호출하려면 인자로 함수를 전달해야 합니다.
      • 또한, 반환 타입 역시 함수이므로 호출 결과로 함수를 반환받습니다.

 

fun hofFun(arg: (Int) -> Boolean): () -> String {
	val result = if(arg(10)){
        "valid"
    }else{
        "invalid"
    }
    return {"hofFun result : $result"}
}

fun main(){
    val result = hofFun({no -> no > 0})
    println(result())
}

실행 결과

 

출처 : 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 (강성윤 저)

728x90