익명 함수
()→ 람다식 함수 사용 이유? 속도의 장점이 있음 : call by reference (java) 계속 데이터를 가져올 때마 확인 / 람다식을 사용하면 이게 무시되고 병렬처리가 됨 = 빠름
람다식 내에서 사용되는 지역변수는 final이 붙지 않아도 상수로 간주한다 ⇒ 상수 or변수든 상관 없음
장점 코드 간결화 가독성 함수형 언어로 사람이 읽고 판단하기 쉬움
단점 익명함수 재사용 불가능 디버딩 어려움
함수형 인터페이스란?
Predicate<T> 속성이라는 개념 하이버네이트 es 등등에서 사용됨
@asnc java.lang.Runnable
함수형 인터페이스 | 메서드 | 설명 |
---|---|---|
java.lang.Runnable | void run() | 매개변수 없음, 반환값 없음 |
Supplier<T> | T get() | 매개변수 없음, 반환값 T |
Consumer<T> | void accept(T t) | 매개변수 T, 반환값 없음 |
Function<T, R> | R apply(T t) | 매개변수 T, 반환값 R |
Predicate<T> | boolean test(T t) | 매개변수 T, 반환값 boolean |
함수형 인터페이스 | 메서드 | 설명 |
---|---|---|
BiConsumer<T, U> | void accpet(T t, U u) | 매개변수 T U, 반환값 없음 |
BiFunction<T, U, R> | R apply(T t, U u) | 매개변수 T, U 반환값 R |
BiPredicate<T, U, R> | boolean test(T t, U u) | 매개변수 T, U 반환값 Boolean |