Dev/Kotlin

코틀린 - 람다로 프로그래밍(요약)

healthyryu 2018. 9. 27. 06:30

5장 람다로 프로그래밍


- 람다를 사용하면 코드 조각을 다른 함수에게 인자로 넘길 수 있다.

- 코틀린에서는 람다가 함수 인자인 경우 괄호 밖으로 람다를 빼낼 수 있고, 람다의 인자가 단 하나뿐인 경우 인자 이름을 지정하지 않고 it 이라는 디폴트 이름으로 부를 수 있다.

- 람다 안에 있는 코드는 그 람다가 들어있는 바깥 함수의 변수를 읽거나 쓸 수 있다.

- 메소드, 생성자, 프로퍼티의 이름 앞에 ::을 붙이면 각각에 대한 참조를 만들 수 있다. 그런 참조를 람다 대신 다른 함수에게 넘길 수 있다.

- filter, map, all, any 등의 함수를 활용하면 컬렉션에 대한 대부분의 연산을 직접 원소를 이터레이션하지 않고 수행할 수 있다.

- 시퀀스를 사용하면 중간 결과를 담는 컬렉션을 생성하지 않고도 컬렉션에 대한 여러 연산을 조합할 수 있다.

- 함수형 인터페이스(추상 메소드가 단 하나뿐인 SAM 인터페이스)를 인자로 받는 자바 함수를 호출할 경우 람다를 함수형 인터페이스 인자 대신 넘길 수 있다.

- 수신 객체 지정 람다를 사용하면 람다 안에서 미리 정해둔 수신 객체의 메소를 직접 호출할 수 있다.

- 표준 라이브러리의 with 함수를 사용하면 어떤 객체애 대한 참조를 반복해서 언급하지 않으면서 그 객체의 메소드를 호출할 수 있다. apply 를 사용하면 어떤 객체라도 빌더 스타일의 API 를 사용해 생성하고 초기화할 수 있다.

반응형