작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
237
답변 1
1
안녕하세요?
stream 연산에는 filter(), map() 과 같은 중간 연산이 있고 forEach(), count(), sum() 과 같은 최종 연산이 있습니다. 중간 연산은 여러 번 들어갈 수 있지만 최종 연산은 맨 뒤에 딱 한 번만 들어갈 수 있습니다. 이때, 최종 연산이 호출되어야 앞의 중간 연산들이 적용된다는 특징이 있답니다. 용어로는 지연 연산 (lazy evaluation) 이라고 부릅니다.
그래서 20번째 줄의 최종 연산인 .forEach() 문을 주석 처리 등으로 제외하고 실행했을 때는 19번째 줄의 .map() 이 아직은 적용되지 않고 최종 연산이 호출되기를 기다리는 상태이므로 fee 값이 바뀌지 않습니다 😊
감사합니다.