[Effective-Java] Chapter7 #46. 스트림에서는 부작용 없는 함수를 사용하라
·
Reference/Effective-Java
📌 Stream, 함수형 프로그래밍 그리고 순수 함수 Stream을 이해하고 싶다면 함수형 프로그래밍 패러다임까지 받아들여라 스트림 패러다임 핵심은 계산을 일련의 변환(transformation)으로 재구성하는 부분이다. 각 변환 단계는 가능한 한 이전 단계의 결과를 받아 처리하는 순수 함수여야 한다. 오직 입력만이 결과에 영향을 주는 함수 다른 가변 상태를 참조하지 않고, 함수 스스로도 외부 상태를 변경하지 않는다. 즉, 함수는 입력값에 의존하여 항상 동일한 결과만을 내놓아야 한다. 이를 보장하기 위해서는 스트림 연산에 건네는 함수 객체는 모두 side-effect가 없어야 한다. ✒️ Stream API 1. Java Stream API • 컬렉션에 저장되어 있는 element들을 추상화시키고, 간단..