원시 setter보다 의도 있는 행동이 불변식을 지킨다

값 교체를 그대로 공개하면 호출자가 객체 규칙을 알아야 하지만 행동 메서드는 목적과 허용 전이를 객체 안에 둡니다.

setAge(121)

임의 값 교체 · 현재 상태·상한 규칙 우회

correctAge(41)

나이 정정 의도 · 14~120 검사 · 성공 여부 반환

핵심: 캡슐화는 필드를 숨기는 데서 끝나지 않고 성공 가능한 상태 변화만 공개하는 계약입니다.