카운터·장바구니·Study Log는 같은 캡슐화 패턴을 가진다
상태 이름보다 불변식과 공개 행동의 대응이 중요합니다.
| 객체 | 소유 상태 | 공개 행동 | 숨길 구현 |
|---|---|---|---|
| Counter | count·maximum | increment | 범위 검사 |
| Cart | items·count | add·total | 배열 인덱스 |
| StudyLog | entries·size | add·remove·summary | 이동·집계 |
핵심: 저장 배열과 현재 개수를 한 객체가 함께 소유해야 관계가 유지됩니다.
상태 이름보다 불변식과 공개 행동의 대응이 중요합니다.
| 객체 | 소유 상태 | 공개 행동 | 숨길 구현 |
|---|---|---|---|
| Counter | count·maximum | increment | 범위 검사 |
| Cart | items·count | add·total | 배열 인덱스 |
| StudyLog | entries·size | add·remove·summary | 이동·집계 |
핵심: 저장 배열과 현재 개수를 한 객체가 함께 소유해야 관계가 유지됩니다.