[0625] Annonymous

ㅇㅇㅈ·2025년 6월 26일

람다식

  1. 호출 시점에 생성되어 불필요한 메모리 사용을 줄일 수 있다.
  1. 디버깅이 어렵다(익명함수기에 위치를 찾기가 어려움)
  2. 너무 많은 사용은 가독성을 저하
  3. 성능 문제가 생길 수 있다.

Functional Interface

Functional Interface의 종류

InterfaceMethodDescription
Runnablevoid run()스레드에 의해
실행될 수 있는 작업
CallableV call() throws Exception결과를 봔환하거나
예외를 발생시킬 수 있는 작업
Consumervoid accept(T t)
void
하나의 매개변수를 받아들이며
결과를 반환하지 않음
SupplierT get()
T
매개 변수는 없지만
결과를 반환
FunctionR apply(T t)하나의 매개 변수를 받아들이고
결과를 반환
Predicateboolean test(T t)
boolean
하나의 매개 변수를 받아들여
boolean 결과를 반환
Comparableint compareTo(T o)자기 자신과 매개 변수를 비교하여
순서를 결정
Comparatorint compare(T o1, T o2)매개 변수를 비교하여 순서를 결정

작업이 붙은 애들은 스레드에서 사용되며, 비동기 작업이나 콜백이 필요한 작업에서 많이 사용됨.

특화형

InterfaceMethodDescription
BiConsumer<T, U>void accept(T t, U u)두 개의 매개 변수를 받아 결과를 반환하지 않음
BiFunction<T,U,R>R apply(T t, U u)
R로 반환형 한정
두 개의 매개 변수를 받아 결과를 반환
BinaryOperator<T>T apply(T t1, T t2)동일 타입의 두 매개 변수를 받아 동일 타입의 결과를 반환
BiPredicate<T,U>boolean test(T t,U u)두 개의 매개 변수를 받아 booelan 결과를 반환
  • Bi가 붙어있는 것처럼 매개 변수들은 두 개씩
  • 형이 지정되어 있음

0개의 댓글