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
'Kotlin' 카테고리의 다른 글
[코틀린] break와 continue에 라벨 사용 (0) | 2020.09.18 |
---|---|
[코틀린] 함수 종류들 (0) | 2020.09.18 |
[코틀린] 함수형 프로그래밍 (0) | 2020.09.18 |
[코틀린] 함수 선언 및 사용 (0) | 2020.09.18 |
[코틀린] Safe call과 non-null 단정자 (0) | 2020.09.18 |
댓글