stream은 배열 또는 collection 인스턴스들(List, set 등)을 하나씩 참조하여 반복적으로 사용할 수 있게 해주는 것이다.
람다식(함수를 변수처럼 사용하는 것)을 활용하는 방법이고, 배열 또는 collection 인스턴스를 여러 함수를 사용해서 .을 이어붙여 사용한다.
Stream을 사용하는 방법은 3단계로 나눌 수 있다.
1. 생성: .stream()
2. 가공: .map() / .filter() / .flatMap() 등
3. 결과: .collect() / .count() / .sum() 등