본문 바로가기
Kotlin

[코틀린] 콜백 함수

by Sky Titan 2020. 9. 18.
728x90

콜백 함수

  • Caller(호출을 하는 객체)가 Callee(호출된 객체)에게로 넘겨준 다음 Callee가 콜백 함수를 호출하면 Caller에서 결과를 받게 된다.
  • 특정 이벤트가 발생하기까지 처리되지 않다가 이벤트가 발생하면 즉시 호출되어 처리되는 함수
  • 사용자가 아닌 시스템이나 이벤트에 따라 호출 시점 결정
  • 비동기적으로 작업한 결과물을 받아올 때 주로 사용
  • 안드로이드에서는 OnClickListener가 대표적인 콜백 객체.
class Callee {

    fun calcuate(callback: (Int) -> (Unit))
    {
        for (i in 0..10)
        {
            callback(i)
        }
    }
}

fun main() {

    var callee = Callee()
    var name = "Park"
    callee.calcuate({x -> println("$name ${x}초")})
}
/*
Park 0초
Park 1초
Park 2초
Park 3초
Park 4초
Park 5초
Park 6초
Park 7초
Park 8초
Park 9초
Park 10초
*/

 callee로 callback이라는 콜백 함수를 넘겨주고 해당 콜백 함수는 Caller인 main 함수에서 실행됨

728x90

댓글