외부 반복과 Stream 내부 반복은 책임 분배가 다르다

Stream이 단순히 for문의 짧은 문법은 아니며 순회·short-circuit·병렬화 제어를 library가 가집니다.

external loop

caller가 iterator·break·state 소유

Stream

library가 traversal·fusion·short-circuit

공통 책임

순서·side effect·exception 계약

핵심: 주문형 제어가 필요하면 loop, 데이터 변환 계약이 중심이면 stream을 선택합니다.