인라인1 코틀린(Kotlin) - 인라인 함수 람다를 활용한 코드에선 무명 클래스 생성에 따른 부가 비용이 든다. 이 때문에 같은 작업을 수행하는 일반 함수를 사용한 구현보다 효율적이지 못하다. inline 변경자를 어떠한 함수에 붙이면 컴파일러는 그 함수를 호출하는 모든 문장을 함수 본문에 해당하는 바이트코드로 바꿔 일반 명령문과 같은 효율적인 코드를 생성하게 해 준다. 인라이닝이 작동하는 방식 위에서도 말했듯이 어떤 함수를 inline 선언하면 그 함수의 본문이 인라인 된다. 다른 말로 "함수를 호출하는 코드를 함수를 호출하는 바이트코드 대신 함수 본문을 번역한 바이트 코드로 컴파일하는 것이다." inline fun synchronized(lock: Lock, action: () -> T): T { lock.lock() try { return a.. Programming/Kotlin 2021. 11. 12. 이전 1 다음 728x90