먼저 Stream을 왜 쓰는지부터 생각해보자.
Stream은 데이터가 사용 가능해지면 생산자에서 소비자로 데이터를 전달한다. 이는 사용하지 못하는 데이터의 접근을 방지해 준다.
두번재로 보통 데이터를 영역과 UI영역을 분리하는데 이때 데이터를 UI에 전달 해주는 매개체가 필요할 것이다. Stream은 데이터를 수월하게 전달하는 매개체 역할을 한다. Stream은 생산자와 소비자로 영역을 분리하여 먼 곳까지 데이터를 전달해 줄 수 있다.
- 데이터가 사용 가능한 상태 일때 기다렸다가 데이터를 사용하게 해준다.
- 데이터 영역과 처리영역으로 코드를 분리 할수 있다.
- 데이터를 쉽게 전달해주는 인터페이스를 제공 해준다.
- 데이터를 가공하고 재생산 할수 있어 원본 데이터의 재사용성을 극대화 한다.