Dev/Kotlin

코틀린 - 고차 함수: 파라미터와 반환 값으로 람다 사용 (요약)

healthyryu 2018. 10. 17. 23:50

8장 고차 함수: 파라미터와 반환 값으로 람다 사용 (요약)


- 함수 타입을 사용해 함수에 대한 참조를 담는 변수나 파라미터나 반환 값을 만들 수 있다.

- 고차 함수는 다른 함수를 인자로 받거나 함수를 반환한다. 함수의 파라미터 타입이나 반환 타입으로 함수 타입을 사용하면 고차 함수를 선언할 수 있다.

- 인라인 함수를 컴파일할 때 컴파일러는 그 함수의 본문과 그 함수에게 전달된 람다의 본문을 컴파일한 바이트코드를 모든 함수 호출 지점에 삽입해준다. 이렇게 만들어지는 바이트코드는 람다를 활용한 인라인 함수 코드를 풀어서 직접 쓴 경우와 비교할 때 아무 부가 비용이 들지 않는다.

- 고차 함수를 사용하면 컴포넌트를 이루는 각 부분의 코드를 더 잘 재사용할 수 있다. 또 고차 함수를 활용해 강력한 제네릭 라이브러리를 만들 수 있다.

- 인라인 함수에서는 람다 안에 있는 return문이 바깥쪽 함수를 반환시키는 넌로컬 return을 사용할 수 있다.

- 무명 함수는 람다 식을 대신할 수 있으며 return 식을 처리하는 규칙이 일반 람다 식과는 다르다. 본문 여러 곳에서 return해야 하는 코드 블록을 만들어야 한다면 람다 대신 무명 함수를 쓸 수 있다.



일단, 고차 함수와 인라인은 함께 사용하는 개념인것 같으며, 기본적으로 코틀린을 잘 사용하기 위해서는 람다는 필수이다.

고차 함수를 사용하려면 인라인과 람다를 잘 익여야할것 같으며 그와 더블어 무명 함수도 알면 좋다(?)


Github - Kotlin 공부 내용 정리

반응형