5장 람다로 프로그래밍
- 람다를 사용하면 코드 조각을 다른 함수에게 인자로 넘길 수 있다.
- 코틀린에서는 람다가 함수 인자인 경우 괄호 밖으로 람다를 빼낼 수 있고, 람다의 인자가 단 하나뿐인 경우 인자 이름을 지정하지 않고 it 이라는 디폴트 이름으로 부를 수 있다.
- 람다 안에 있는 코드는 그 람다가 들어있는 바깥 함수의 변수를 읽거나 쓸 수 있다.
- 메소드, 생성자, 프로퍼티의 이름 앞에 ::을 붙이면 각각에 대한 참조를 만들 수 있다. 그런 참조를 람다 대신 다른 함수에게 넘길 수 있다.
- filter, map, all, any 등의 함수를 활용하면 컬렉션에 대한 대부분의 연산을 직접 원소를 이터레이션하지 않고 수행할 수 있다.
- 시퀀스를 사용하면 중간 결과를 담는 컬렉션을 생성하지 않고도 컬렉션에 대한 여러 연산을 조합할 수 있다.
- 함수형 인터페이스(추상 메소드가 단 하나뿐인 SAM 인터페이스)를 인자로 받는 자바 함수를 호출할 경우 람다를 함수형 인터페이스 인자 대신 넘길 수 있다.
- 수신 객체 지정 람다를 사용하면 람다 안에서 미리 정해둔 수신 객체의 메소를 직접 호출할 수 있다.
- 표준 라이브러리의 with 함수를 사용하면 어떤 객체애 대한 참조를 반복해서 언급하지 않으면서 그 객체의 메소드를 호출할 수 있다. apply 를 사용하면 어떤 객체라도 빌더 스타일의 API 를 사용해 생성하고 초기화할 수 있다.
반응형
'Dev > Kotlin' 카테고리의 다른 글
코틀린 - 코틀린 타입 시스템 (요약) (0) | 2018.09.30 |
---|---|
코틀린 - 코틀린 타입 시스템 (정리) (0) | 2018.09.30 |
코틀린 - 클래스, 객체, 인터페이스(요약) (0) | 2018.09.25 |
커니의 코틀린 - 3장 (데이터 클래스) (0) | 2018.07.16 |
let 함수 (0) | 2018.06.21 |