이번 글의 주의 사항
💡 학습 방법이 사람마다 다릅니다. 제 스타일이 강하게 묻어 있으니 피드백을 주시면, 저에게도 큰 도움이 됩니다
무슨 말이 필요할까, 다양한 상황과 꾸준한 연습이 필요
- Stream이 필요한 상황은 대부분의 Data-Set에 대한 핸들링이 필요할 때 입니다.
- Stream을 안쓰고 for, if문 조합으로 풀어내면?
- 줄어든 코드량과 잘 썼을 때의 가독성은 scope지옥에서 벗어나게 해줍니다👍
- 그냥 연습하지 마시고, Functional Interface와 함께 사용하세요
- 여러가지 방법을 주어주세요
- 다양한 자료구조
- 직접 구현한 클래스 객체
- 여러가지 상황에서 필요한 데이터
Stream을 쓰면 도대체 무엇이 좋은데?
- 위에 썼지만, 코드량과 가독성이 뛰어납니다
- 함수형 프로그래밍에 특화되어있습니다
- 원하는 연산의 시작과 끝을 구분하기도 쉽습니다
Stream이 단점은 없을까?
- 사용하는 방식에 따라, 이해하기 힘든 코드가 되기도 합니다(effective-java를 읽어보시는 걸 추천)
- 병렬처리에 대한 성능을 보장할 수 없습니다
Stream에 대한 개인적인 생각
- 물론 학습하고 비즈니스에서 사용했지만, 소스 코드를 짜다보면 다시 언어로 돌아가는 것 같습니다
- 제 경험상, 언어로 다시 내려와서 학습을 다시 할 때, 더욱 많은 부분을 이해하고 활용할 수 있었습니다
- 본인의 스타일로 다시 재구현 해보는 것이 특히 많은 도움이 됩니다!