티스토리 뷰

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
링크
«   2025/02   »
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
글 보관함