[Item46] Stream과 Side-Effect
Item46에서 스트림에는 부작용 없는 함수를 사용하라 말한다 스트림은 함수형 프로그래밍에 기초한 패러다임이라는데 그럼 함수형 프로그래밍이라는 패러다임은 무엇인가? 깔끔하고 유지 보수하기 쉬운 코드를 만들기 위한 코드 작성 방식이란다 OOP와 대치되는 개념이 아니고 둘이 짬뽕시켜 쓸 수 있다 함수형 프로그래밍은 모던 프로그래밍에서 대세가 되어가는 중인데 절차형, 객체지향, 함수형 중 함수형이 가장 먼저 나왔으나 그동안 많이 쓰이지 못했던 것은 불변 객체와 side-effect를 다루는 문제 때문이다 객체가 불변이라면 다른 값이 필요한 경우에 기존 객체를 변경할 수 없으니 항상 새로운 객체를 생성해야 한다 side-effect를 만들지 않으려면 외부 변수를 변경하지 못하고 모든 변경은 새로운 값으로 대체해..
Java/Effective Java
2022. 4. 7. 22:42