파트-3 Functional Interface (Consumer)

발행: (2026년 3월 3일 오후 05:04 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

Consumer

Consumerjava.util.function에 있는 함수형 인터페이스입니다.
입력을 하나 받아서 반환값이 없는 작업을 나타냅니다.

핵심 메서드

void accept(T t)

Consumer의 추가 메서드

  • andThen(Consumer after) – 두 Consumer를 연쇄합니다.
    현재 Consumer가 먼저 실행되고, 그 다음에 after Consumer가 실행됩니다.

예시

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

곧 다시 만나요… 다음 멋진 블로그에서 뵙겠습니다!

0 조회
Back to Blog

관련 글

더 보기 »