변경 가능한 데이터 구조를 가진 언어에서 불변성 유지하기

모든 동작을 불변형으로 만들 수 있는지

장바구니에 대한 동작

제품에 대한 동작

데이터 구조 안에 데이터가 있는 경우 데이터가 중첩되었다고 이야기한다

배열 안에 객체가 있거나, 객체 안에 객체가 있는 등

중첩된 데이터에 대한 불변 동작은 어떻게 구현할까?

동작을 읽기, 쓰기 또는 둘 다로 분류하기

값이 바뀌면 그 값이 어디서 사용될 지 모르기 때문에 값이 가급적 바뀌지 않도록 원칙을 세우는 것이 중요하다

장바구니 동작