setter 베스트 프랙티스

setter 베스트 프렉티스 1: 멤버 변수는 private

강력한 캡슐화
- 정보 숨기기
setter 베스트 프렉티스 2: 새 개체는 유효하도록

개체 생성 시 유효하게 하기 위해 생성자로 강제
setter 베스트 프렉티스 3: getter는 자유롭게 추가

참조형을 getter로 반환하면 문제가 생길 수 있음
- 참조 노출 문제
- aliasing 문제
setter 베스트 프렉티스 4: setter는 고민 후 추가

개체 상태 수정은 개체 스스로 수행하는 것이 이상적임

mean 멤버 변수는 setScore가 호출될 때 갱신
- 개체 스스로 상태를 책임짐
