
110
PART 02
함수형 접근 방식
4.14.1
객체 지향 프로그래밍의 가변성과 자료 구조 객체 지향 프로그래밍의 가변성과 자료 구조
객체 지향 언어인 자바에서는 객체의 상태를 가변 형태로 캡슐화합니다. 일반적으로 ‘
setter
’
메서드를 사용하여 상태를 변화시킵니다. 이러한 접근 방식은 프로그램 상태를 일시적인 것
으로 만들어 기존 자료 구조의 변경된 내용이 해당 상태를 업데이트합니다. 또한 이를 참조
하는 다른 모든 사용자에게도 영향을 미치며 이전 상태는 소멸됩니다.
2
장에서 배운 것처럼, 객체 지향 자바 코드에서 가변 상태를 다루는 가장 일반적인 형태인
JavaBean
과
POJO
에 대해 살펴보겠습니다. 어떤 면에서 보면, 이들은 컴포넌트 간의 재사
용성을 향상시키기 위해 상태값을 캡슐화하도록 설계된 일반적인 자바 객체들입니다. 비슷
한 목적을 가지고 있지만, 각자의 설계 철학과 규칙은 다릅니다.
POJO
는 설계에 대해 어떠한 제한도 없습니다. 비즈니스 로직 상태를 ‘단지’ 캡슐화하는 것이
목적이며, 불변성을 갖도록 설계할 수도 있습니다. 어떻게 구현할지는 여러분에게 달려 있으
며 여러분이 처한 상황과 환경에 따라 어떤 방식을 선택할지 결정할 수 있습니다. 일반적으
로
POJO
는 가변 상태를 가진 객체 지향적인 컨텍스트에서 더 유연하게 작동하도록 필드에 ...