[JAVA] 기초 8. 함수형 인터페이스 - 끝..
2025.02.04 - [분류 전체보기] - [JAVA] 기초 8. 함수형 인터페이스 - 람다 표현식과 익명 구현 객체
[JAVA] 기초 8. 함수형 인터페이스 - 람다 표현식과 익명 구현 객체
1. 람다 표현식- Lambda Expression:: 익명 함수(Anonymous Funtion)을 간결하게 표현하는 방법:: 주로, 함수형 인터페이스 구현에 사용함수형 인터페이스:: 단 하나의 추상 메서드만을 가진 인터페이스:: Ex)
hee-ya07.tistory.com
위의 내용에 이어서 글을 작성하겠다.
0. 함수형 인터페이스
:: 하나의 추상 메서드를 가지는 "인터페이스"
:: " @FunctionalInterface " 어노테이션을 사용하여 표시 가능
:: 인터페이스를 통해 구현 -> 익명 함수가 될 수 있는 형태를 제공 받기 가능
:: 익명 구현 객체의 Syntatic Suger라 할 수 있음
import java.util.function; // 해당 안에서 자주 사용되는 함수형 인터페이스 찾기 가능
0.1 파라미터가 0~1개의 경우
1. Consumer<T>
:: 매개변수를 받아서 소비하는 함수 (반환값 없음)
:: (T) -> ( )
Consumer<String> print = str -> System.out.println(str);
print.accept("Hello, World!"); // 출력: Hello, World!
2. Supplier<T>
:: 매개변수 없이 값을 반환하는 함수
:: ( ) -> (R)
Supplier<Double> random = () -> Math.random();
System.out.println(random.get()); // 출력: 0.0 ~ 1.0 사이의 랜덤 값
3. Function<T, R>
:: 매개변수를 받아서 다른 타입의 값을 반환하는 함수
:: (T) -> (R)
Function<String, Integer> length = str -> str.length();
System.out.println(length.apply("Java")); // 출력: 4
4. Predicate<T>
:: 매개변수를 받아서 boolean 값을 반환하는 함수
:: (T) -> (Boolean)
Predicate<Integer> isEven = num -> num % 2 == 0;
System.out.println(isEven.test(10)); // 출력: true
0.2 파라미터가 2개의 경우
1.BiConsumer<T>
:: (T, U) -> ( )
2. BiFunction<T, R>
:: (T, U) -> (R)
3. BiPredicate<T>
:: (T, U) -> (Boolean)
참조
ASAC 수업자료