ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

Consumer<T>

함수형 인터페이스 중 하나로 처리만 하고 결과를 돌려주지 않습니다.

@FunctionalInterface
public interface Consumer<T> {
    void accept(T t);
}
  • 제네릭 타입 T를 받아서 리턴값 없이(void) 실행하는 함수.
  • "어떤 값을 받아서 소비(consume)한다" → 그래서 이름이 Consumer.

 

예를 들어, Consumer<String>은 문자열을 받아서 출력하는 함수가 될 수 있어요.

Consumer<String> printer = s -> System.out.println("입력: " + s);
printer.accept("Hello"); // 출력: 입력: Hello

 

 

트리 같은 자료구조에서 재귀 순회할 때, 각 노드를 방문할 때마다 실행할 동작을 외부에서 람다(함수)로 넘겨줄 수 있어요.

public void inorderRecursive(BinaryNode<T> node, Consumer<T> visit) {
    if (node == null) return;
    inorderRecursive(node.left, visit);
    visit.accept(node.element);   // 👉 여기서 Consumer 호출
    inorderRecursive(node.right, visit);
}
728x90