Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

Kotlin에서 일정 시간 지연 후 함수를 호출하는 방법

Kotlin은 JVM 위에서 동작하는 언어로 Java와 완벽하게 호환되기 때문에, Java에서 제공하는 라이브러리 기능을 그대로 활용할 수 있습니다. 이 글에서는 Java의 Timer() 클래스와 schedule() 함수를 사용하여 특정 함수의 호출을 원하는 시간만큼 지연시키는 방법을 살펴보겠습니다.

예제 코드

import java.util.Timer
import kotlin.concurrent.schedule

fun main(args: Array<String>) {

    // 실행 시작 지점
    println("Hello world!!")

    // 5초 지연
    Timer().schedule(5000){

        // 함수 호출
        newMethod()
    }
}

fun newMethod(){
   println("Delayed method call!")
}

코드 설명

Timer().schedule(5000)에서 전달된 값은 밀리초 단위입니다. 즉, 5000은 5초를 의미하며, 프로그램이 시작된 지 5초가 지난 후에 람다 블록 안의 newMethod() 함수가 호출됩니다. Kotlin 표준 라이브러리의 kotlin.concurrent.schedule 확장 함수를 임포트해야 schedule()에 람다를 직접 전달할 수 있습니다.

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

Hello world!!
Delayed method call!

먼저 "Hello world!!"가 즉시 출력되고, 5초 후에 "Delayed method call!"이 출력되는 것을 볼 수 있습니다. 이처럼 Timer를 활용하면 별도의 스레드 관리 없이도 간단하게 작업 실행 시점을 지연시킬 수 있습니다.