컬렉션, 배열 등의 저장 요소를 하나씩 참조하여
함수형 인터페이스를 적용하며 **반복적으로 처리
**할 수 있는 기능
위 물고기를 그물로 잡고, 여러 마리를 일정한 기준으로 모아서 상자에 넣고,
하나로 모은 뒤 트럭에 운반하는 과정 stream도 이와 별반 다르지 않습니다.
물고기와 같은 어류의 이동을 stream이라고 정의할 수 있습니다.
고등어를 잡고 싶어서 그물로 고등어를 잡았습니다. 이 행위를 filter라고 하고, 이 연산자를 중간 연산자
그리고 고등어를 포장하지 않고 생으로 팔 수는 없기 때문에
상자에 담아야 하는데 이 행위를 map이라고 하고, 이 연산자도 마찬가지로 중간 연산자
마지막으로, 수많은 상자를 운반하여 다른 곳으로 이동하면서 끝이 납니다.
이 행위를 collect라고 하고, 이 연산자는 최종 연산자
기능적 → 스트림은 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자