티스토리 뷰

728x90


다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.

이어보기 : http://thdev.tech/kotlin/2017/10/02/Kotlin-Higher-Order-Function



Kotlin에는 Higher-Order Functions 사용이 가능합니다.

Higher-Order Functions은 함수를 변수로 넘겨주거나, 이를 반환하는 것을 말하는데, 레퍼런스 문서에 정의 내용을 참고하여 설명합니다.

fun <T> lock(lock: Lock, body: () -> T): T {
    lock.lock()
    try {
        return body()
    }
    finally {
        lock.unlock()
    }
}

lock 함수에 포함된 파라메터 중 body: () -> T Higher-Order Functions에 해당하죠. body와 : 부분을 아래와 같이 나누어 설명하겠습니다.

  • body : 파라메터 이름
  • () -> T : () 파라메터가 없는 메소드를 정의하였고, -> T는 return 타입을 정의합니다. 여기에서는 Generics T를 사용하였기에 리턴 T

() -> T를 body에 매칭 시켜 파라메터로 정의하였습니다.




다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.

이어보기 : http://thdev.tech/kotlin/2017/10/02/Kotlin-Higher-Order-Function



댓글