파트-3 Functional Interface (Consumer)
발행: (2026년 3월 3일 오후 05:04 GMT+9)
2 분 소요
원문: Dev.to
Source: Dev.to
Consumer
Consumer는 java.util.function에 있는 함수형 인터페이스입니다.
입력을 하나 받아서 반환값이 없는 작업을 나타냅니다.
핵심 메서드
void accept(T t)
Consumer의 추가 메서드
andThen(Consumer after)– 두Consumer를 연쇄합니다.
현재Consumer가 먼저 실행되고, 그 다음에afterConsumer가 실행됩니다.
예시
Consumer print = s -> System.out.println(s);
Consumer printUpper = s -> System.out.println(s.toUpperCase());
Consumer combined = print.andThen(printUpper);
combined.accept("hello");
// Output:
// hello
// HELLO
Specialized Consumers
BiConsumer
두 개의 입력을 받아서 반환값이 없는 작업을 나타냅니다.
BiConsumer printNameAge =
(name, age) -> System.out.println(name + " is " + age + " years old");
printNameAge.accept("Ravi", 25);
// Output: Ravi is 25 years old
Primitive Consumer Interfaces
원시 타입을 다룰 때는 박싱/언박싱 오버헤드를 피하기 위해 특수화된 Consumer 인터페이스를 사용합니다.
IntConsumer
int 값을 받는 Consumer입니다.
IntConsumer printSquare = n -> System.out.println(n * n);
printSquare.accept(5); // Output: 25
LongConsumer
long 값을 받는 Consumer입니다.
LongConsumer printHalf = l -> System.out.println(l / 2);
printHalf.accept(100L); // Output: 50
DoubleConsumer
double 값을 받는 Consumer입니다.
DoubleConsumer printDoubleValue = d -> System.out.println(d * 2);
printDoubleValue.accept(3.5); // Output: 7.0
곧 다시 만나요… 다음 멋진 블로그에서 뵙겠습니다!