스트림 Stream 스트림은 사전적 의미로 '흐르다'라는 의미를 가진다. 프로그래밍 분야에서는 이는 '데이터의 흐름'을 일컫는다. 스트림에서는 스트림 데이터와 스트림 연산의 개념을 모두 포함한다. JDK 8에서 새롭게 추가된 기능이라고 하며, 데이터 집합체를 반복적으로 처리할 때 사용한다. 가장 중요한 점은 데이터 소스가 무엇이든 같은 방식으로 다룰 수 있다는 것이다. 컬렉션이나 배열 뿐만 아니라 파일의 데이터도 같은 방식으로 다룰 수 있다. 스트림은 데이터를 읽기만 한다. 따라서 데이터소스를 변경하거나 하지 않는다. 컬렉션과 달리 일회용이며, 일시적인 저장공간을 필요로 하지 않는다. 컬렉션이 재사용이 가능하다. 스트림은 내부반복 Internal iteration으로 작업을 처리한..