불변 객체와 같은 불변 객체와 불변 객체의 이점은 공유 및 쓰기 가능한 상태로 인해 다중 스레드 프로그래밍 문제를 해결하는 데 많은 어려움을 겪는 것을 볼 수 있습니다. 반대로, 가변 객체는 매번 새로운 사본을 생성하지 않고 객체의 신원을 처리하는 데 도움이되므로 특히 큰 객체의 성능 및 메모리 사용량을 향상시킵니다.
내가 이해하려고하는 한 가지는 함수형 프로그래밍의 맥락에서 가변 객체를 가질 때 무엇이 잘못 될 수 있는지입니다. 나에게 들었던 요점 중 하나는 다른 순서로 함수를 호출 한 결과가 결정적이지 않다는 것입니다.
함수 프로그래밍에서 가변 객체를 사용하여 무엇이 잘못 될 수 있는지가 분명한 실제 예를 찾고 있습니다. 기본적으로 나쁘면 OO 또는 함수형 프로그래밍 패러다임에 관계없이 나쁘다.
나는 내 자신의 진술 자체 가이 질문에 답한다고 믿는다. 그러나 여전히 자연스럽게 느낄 수 있도록 몇 가지 예가 필요합니다.
OO는 캡슐화, 다형성 등과 같은 도구를 사용하여 종속성을 관리하고 더 쉽고 유지 관리 가능한 프로그램을 작성하는 데 도움이됩니다.
함수형 프로그래밍은 유지 관리 가능한 코드를 홍보하는 동일한 동기를 갖지만 스타일을 사용하여 OO 도구 및 기술을 사용할 필요가 없습니다. 부작용 중 하나 인 기능, 순수 기능 등을 최소화하는 것으로 생각합니다.