💡 해당 포스팅은 High-Order Function 에 대한 이해를 필요로 합니다. 코틀린에서는 고차함수를 사용할 수 있다. 함수(람다)를 함수의 호출 인자로 전달하거나, 반환값으로 활용할 수도 있다. 그런데 이렇게 람다를 사용하게 되면, 부가적인 메모리 할당으로 인해 메모리 효율이 안 좋아지고, 함수 호출로 인한 런타임 오버헤드가 발생하게 된다. 잘 와닿지 않는가? 한 번 아래 예시를 통해 왜 부가적으로 메모리가 할당되고 런타임 오버헤드가 발생하는지에 대해 알아보자. Lambda 를 사용하는 경우 아래 코드에서는 파라미터로 정수형 데이터와 람다식을 받는 someMethod() 가 있고, 내부적으로 람다를 호출한 뒤 전달받은 정수를 2배 늘려 반환하는 형태의 동작을 하게 된다. 이러한 코드의 경우 컴파일 시 어떠한 Java 코드로 변환되게 될까? 눈치챈 사람도 있겠지만, doSomethine 에