카운터·장바구니·Study Log는 같은 캡슐화 패턴을 가진다

상태 이름보다 불변식과 공개 행동의 대응이 중요합니다.

객체소유 상태공개 행동숨길 구현
Countercount·maximumincrement범위 검사
Cartitems·countadd·total배열 인덱스
StudyLogentries·sizeadd·remove·summary이동·집계

핵심: 저장 배열과 현재 개수를 한 객체가 함께 소유해야 관계가 유지됩니다.