<aside> 📑 참고자료 : KOTLIN IN ACTION
</aside>
람다lambda expression 또는 람다는 기본적으로 다른 함수에 넘길 수 있는 작은 코드 조각
람다를 사용하면 쉽게 공통 코드 구조를 라이브러리 함수로 뽑아낼 수 있다.
코틀린 표준 라이브러리는 람다를 아주 많이 사용한다.
→ ex) 컬렉션 처리하는 패턴을 표준 라이브러리 함수에 람다를 넘기는 방식,,
자바 라이브러리와 람다를 함께 사용가능!
"이벤트가 발생하면 이 핸들러를 실행하자" 나 "데이터 구조의 모든 원소에 이 연산을 적용하자"와 같은 생각을 코드로 표현하기 위해 일련의 동작을 변수에 저장하거나 다른 함수에 넘겨야 한다.
⇒ Java : 무명 클래스 (클래스를 선언하고 그 클래스의 인스턴스를 함수에 넘긴다.)
Kotlin : 함수형 프로그램을 기반으로 함수를 값처럼 다룰 수 있어 함수를 다른 함수에 넘긴다.
//Java
button.setOnClickListener(new OnClickListener(){
@override
public void onClick(View view){
// 클릭시 수행할 동작
}
});
button.setOnClickListener{
// 클릭시 수행할 동작
}
⇒ 코드 중복 제거 비슷한 작업을 많이 사용해야 하는 경우, 불필요한 코드를 제거할 수 있다!!
컬렉션을 다룰 때 수행하는 대부분의 작업들은 몇가지 일반적인 패턴에 속하며, 따라서 그런 패턴은 라이브러리에 있어야 한다. 람다는 컬렉션을 편리하게 처리할 수 있도록 도와준다. 코드 중복 제거