람다식

[Java] 람다식, 메소드 참조, 함수형 인터페이스
Jan 08, 2024
람다식
람다식(lambda expression)은 나중에 실행될 목적으로 다른 곳에 전달될 수 있는 코드 블록입니다. 람다식을 이용하면 함수가 필요한 곳에 간단히 함수를 보낼 수 있습니다.

람다식 예

// 이전의 방법 new Thread(new Runnable() { @Override public void run() { System.out.println("스레드 실행"); } }).start();
// 람다식을 이용한 방법 new Thread( () -> System.out.println( "스레드 실행") ).start();
 
위와 같이 람다식을 이용하면 코드를 간단하게 작성 가능하다.

람다식 vs 메소드 참조

익명 클래스를 람다식으로 변경하면 10줄 → 1줄로 소스의 크기를 줄일 수 있습니다. 하지만 메소드 참조로 변경한다고 해도 소스의 크기는 거의 줄어들지 않습니다. 다만 스트림 API를 사용할 때는 람다식보다 메소드 참조가 더 편리합니다.

함수형 인터페이스

💡
Java에서 함수를 표현하기 위한 개념으로, 람다 표현식과 함께 주로 사용됩니다.

Predicate 인터페이스

단일 값을 매개 변수로 사용하고 true또는 false를 반환하는 함수
Predicate predicate = (v) -> v != null;
return이 boolean으로 있고, 변수 1개

Supplier 인터페이스

일종의 값을 제공하는 함수를 나타내는 함수형 인터페이스
Supplier<Integer> supplier = () -> new Integer((int) (Math.random() * 100));
return이 있고 0개의 매개 변수

Consumer 인터페이스

값을 반환하지 않고 값을 소비하는 함수를 나타내는 함수형 인터페이스
Consumer<Integer> consumer = (value) -> System.out.println(value);
return이 없고 1개의 매개 변수

BiFunction 인터페이스

두 개의 인수를 취하고 하나의 객체를 반환하는 함수형 인터페이스
BiFunction<Integer, Integer, Integer> func = (x1, x2) -> x1 + x2;
Integer result = func.apply(1, 2);
return이 있고 2개의 매개 변수

Share article
RSSPowered by inblog