<aside> 📑 참고자료 : KOTLIN IN ACTION

</aside>

람다lambda expression 또는 람다는 기본적으로 다른 함수에 넘길 수 있는 작은 코드 조각

5.1 람다 식과 멤버 참조


람다 : 코드 블록을 함수 인자로 넘기기

"이벤트가 발생하면 이 핸들러를 실행하자" 나 "데이터 구조의 모든 원소에 이 연산을 적용하자"와 같은 생각을 코드로 표현하기 위해 일련의 동작을 변수에 저장하거나 다른 함수에 넘겨야 한다.

⇒ Java : 무명 클래스 (클래스를 선언하고 그 클래스의 인스턴스를 함수에 넘긴다.)

Kotlin : 함수형 프로그램을 기반으로 함수를 값처럼 다룰 수 있어 함수를 다른 함수에 넘긴다.

//Java
button.setOnClickListener(new OnClickListener(){
	@override
	public void onClick(View view){
		// 클릭시 수행할 동작
	}

});
button.setOnClickListener{
	// 클릭시 수행할 동작
}

코드 중복 제거 비슷한 작업을 많이 사용해야 하는 경우, 불필요한 코드를 제거할 수 있다!!

람다와 컬렉션

컬렉션을 다룰 때 수행하는 대부분의 작업들은 몇가지 일반적인 패턴에 속하며, 따라서 그런 패턴은 라이브러리에 있어야 한다. 람다는 컬렉션을 편리하게 처리할 수 있도록 도와준다. 코드 중복 제거