Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
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 29 30
31
Archives
Today
Total
관리 메뉴

ki-sd 님의 블로그

[2026-04-06] 람다식(Lambda)과 스트림(Stream) API를 통한 함수형 프로그래밍 본문

JavaStudy

[2026-04-06] 람다식(Lambda)과 스트림(Stream) API를 통한 함수형 프로그래밍

ki-sd 2026. 4. 17. 21:31

기존의 객체 지향 방식을 넘어, 자바 8부터 도입된 함수형 프로그래밍(Functional Programming)의 패러다임을 받아들이고 코드의 표현력을 극대화했다.

 

1. 익명 클래스에서 람다식(Lambda Expression)으로의 진화

  • 단 한 번만 사용될 일회성 구현 객체를 만들기 위해 매번 익명 클래스를 작성하는 것은 코드가 길어지고 가독성을 해치는 원인이 된다.
  • 람다식 (매개변수) -> { 실행문 }을 도입하여, 메서드를 하나의 식(Expression)으로 취급하고 마치 변수처럼 전달하는 메커니즘을 익혔다. 코드가 극적으로 간결해지며, 오직 실행할 '동작(로직)' 자체에만 집중할 수 있게 되었다.

2. Stream API를 이용한 선언적 데이터 처리

  • 컬렉션이나 배열에 저장된 요소를 반복문(for, while)으로 하나씩 꺼내 처리하던 기존의 '명령형(Imperative)' 방식에서 벗어나, 파이프라인 형태의 '선언적(Declarative)' 데이터 처리 방식을 학습했다.
  • 스트림 파이프라인: 데이터 소스를 스트림으로 생성(stream())하고, 중간 연산(filter, map, sorted)을 거쳐, 최종 연산(collect, count, forEach)으로 결과를 도출하는 3단계 흐름을 체감했다.
  • 수십 줄의 조건 루프와 임시 배열이 필요했던 복잡한 필터링 로직이 단 한 줄의 스트림 파이프라인 코드로 압축되는 압도적인 효율성을 경험했다.