티스토리 뷰
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 수업자료
'정리용 > java' 카테고리의 다른 글
[JAVA] 기초 8. Monad - Optional (0) | 2025.02.04 |
---|---|
[JAVA] 기초 8. 함수형 인터페이스 - Monad (0) | 2025.02.04 |
[JAVA] 기초 7. 키워드 Enum (1) | 2025.02.04 |
[JAVA] 기초 4-1 다형성과 상속 (0) | 2025.02.04 |
[JAVA] 기초 6. Generic (0) | 2025.01.23 |
- Total
- Today
- Yesterday
- acac
- useMemo
- ssh
- useCallback
- git
- react
- ASAC
- useLayoutEffect
- useState
- asac#asac7기
- asac7#asac
- useReducer
- Nginx
- memo
- asac7기
- useEffect
- asac7
- useContext
- useRef
- acas#acas7기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |