8장 고차 함수: 파라미터와 반환 값으로 람다 사용 (요약)
- 함수 타입을 사용해 함수에 대한 참조를 담는 변수나 파라미터나 반환 값을 만들 수 있다.
- 고차 함수는 다른 함수를 인자로 받거나 함수를 반환한다. 함수의 파라미터 타입이나 반환 타입으로 함수 타입을 사용하면 고차 함수를 선언할 수 있다.
- 인라인 함수를 컴파일할 때 컴파일러는 그 함수의 본문과 그 함수에게 전달된 람다의 본문을 컴파일한 바이트코드를 모든 함수 호출 지점에 삽입해준다. 이렇게 만들어지는 바이트코드는 람다를 활용한 인라인 함수 코드를 풀어서 직접 쓴 경우와 비교할 때 아무 부가 비용이 들지 않는다.
- 고차 함수를 사용하면 컴포넌트를 이루는 각 부분의 코드를 더 잘 재사용할 수 있다. 또 고차 함수를 활용해 강력한 제네릭 라이브러리를 만들 수 있다.
- 인라인 함수에서는 람다 안에 있는 return문이 바깥쪽 함수를 반환시키는 넌로컬 return을 사용할 수 있다.
- 무명 함수는 람다 식을 대신할 수 있으며 return 식을 처리하는 규칙이 일반 람다 식과는 다르다. 본문 여러 곳에서 return해야 하는 코드 블록을 만들어야 한다면 람다 대신 무명 함수를 쓸 수 있다.
일단, 고차 함수와 인라인은 함께 사용하는 개념인것 같으며, 기본적으로 코틀린을 잘 사용하기 위해서는 람다는 필수이다.
고차 함수를 사용하려면 인라인과 람다를 잘 익여야할것 같으며 그와 더블어 무명 함수도 알면 좋다(?)
Github - Kotlin 공부 내용 정리
반응형
'Dev > Kotlin' 카테고리의 다른 글
Kotlin 기본 개념 정리 (0) | 2021.03.12 |
---|---|
Kotlin - unzip (0) | 2020.07.30 |
코틀린 - 연산자 오버로딩과 기타 관례 (요약) (0) | 2018.10.09 |
코틀린 - 코틀린 타입 시스템 (요약) (0) | 2018.09.30 |
코틀린 - 코틀린 타입 시스템 (정리) (0) | 2018.09.30 |