[Java] Stream API의 동작 순서와 Lazy Evaluation
·
Java
Java Stream APIJava의 Stream API는 선언적이고 간결한 방식으로 데이터 처리 로직을 구성할 수 있도록 도와주는 매우 강력한 기능이다. 하지만 Stream은 겉으로 보기엔 단순해 보여도, 내부적으로는 lazy evaluation(지연 평가) 기반의 평가 전략을 사용한다. 이 개념을 제대로 이해하지 못하면, 예상과 달리 불필요한 연산이 수행되어 성능 저하로 이어질 수 있다. 우선 lazy evaluation을 알아보기 전에, Stream 동작 순서를 예측해 보자. 테스트 환경Item을 그대로 반환하지만, sout을 찍어주는 log(Item item) 메서드로 로그를 찍어볼 것이다.@AllArgsConstructor@Getterstatic class Item{ private in..