고차함수2 [kotlin] 인라인 함수 (Inline Functions) 인라인 함수 (Inline Functions)고차 함수를 사용하면 런타임 시 일정한 페널티가 발생합니다. 각 함수는 객체이며, 클로저를 캡처합니다. 이는 메모리 할당과 가상 호출로 인한 런타임 오버헤드를 초래합니다. 하지만 많은 경우에 람다 표현식을 인라인화하여 이러한 오버헤드를 제거할 수 있습니다. 인라인 함수의 기본 (Basics of Inline Functions)함수를 인라인화하려면 inline 수정자를 사용합니다:inline fun lock(lock: Lock, body: () -> T): T { ... }이렇게 하면 컴파일러는 함수 호출 시점에 함수의 본문을 직접 삽입합니다. 이는 함수 자체와 전달된 람다 모두에 영향을 미칩니다. noinline 수정자 (noinline Modifier)일.. 2024. 8. 19. [kotlin] 고차 함수와 람다 (Higher-order Functions and Lambdas) kotlin의 고차 함수와 람다 (Higher-order Functions and Lambdas)코틀린(Kotlin)은 함수형 프로그래밍의 강력한 기능을 제공합니다. 이 글에서는 고차 함수와 람다 표현식에 대해 자세히 알아보겠습니다. 이러한 개념들은 코드를 더 간결하고 표현력 있게 만들어 줍니다. 고차 함수 (Higher-order Functions)고차 함수는 다른 함수를 매개변수로 받거나 함수를 반환하는 함수를 말합니다. 코틀린에서는 함수가 일급 객체이므로 변수에 저장하거나 다른 함수에 전달할 수 있습니다.예를 들어, 컬렉션의 fold 함수는 고차 함수의 좋은 예시입니다:fun Collection.fold( initial: R, combine: (acc: R, nextElement: .. 2024. 8. 18. 이전 1 다음