그러면 멤버 변수를 public으로 열어둬야 한다는 거임 아니면 생성자 시점에 초기화 과정을 다 마치고 그 이후엔 멤버 변수 수정과정 같은거 없이 완전한 캡슐화를 해야한다는거임?