람다
-
[Java] lambda captureJava & Kotlin 2022. 7. 23. 21:22
1) 서론 자바 개발자라면 '람다 표현식' 이라고 불리는 익명 함수를 자주 사용할 것 같습니다. 꼭 자바 개발자가 아니더라도 '람다 대수'라는것을 배웠다면, 이는 컴퓨터 공학 어디에서든 사용되는 것을 알 수 있는데요. 기본적으로 람다 대수는 함수의 이름을 익명으로 하고, 추상화된 방식으로 계산을 하는데요. f(x)=x+1을 λx.x+1로 표현할 수 있습니다. 중요한것은 함수에 X를 받아, X+1 연산을 한다는 것입니다. 즉 함수의 이름은 익명화 시키고, x가 오면 x+1을 계산합니다. 이러한 람다 표현식이라고 불리는 익명 함수가 자바에도 있는데요. 이때 지역변수로 선언된 값을 람다 표현식에서 사용하다가 어려움을 만났던 점을 기록합니다. 2) 람다 표현식으로 지역변수 사용하기 지역변수를 Supplier 함..
-
Lambda(람다) 표현식 적용하기Java & Kotlin 2021. 6. 28. 20:09
1. Lambda Expression? 오라클 공식 문서에서는 아래와 같이 설명하고 있습니다. "Lambda expression(이하 "람다식"이라 한다)은 메서드와 비슷합니다. 람다식은 알맞은 형식의 parameters의 목록과 이 parameters로 표현된 body를 제공합니다." "람다식의 값은 functional interface(이하 "함수적 인터페이스"라 한다)의 인스턴스를 생성한다"라고 합니다. 즉 람다식은 기본적으로 메서드처럼 파라미터를 받아, body를 구현합니다. 하지만 이는 함수적 인터페이스의 인스턴스를 생성하는 데 목적이 있습니다. 모든 메서드를 람다식으로 표현을 하는것이 아니라는 것을 알 수 있습니다. 그렇다면 여기서 말하는 "함수적 인터페이스"는 뭘까요? 2. Functiona..