콜렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 콜렉션은 그 자체로 포장돼 있어야 하며 콜렉션과 관련된 동작은 해당 영역에서 관리되어야 한다.
원시 타입의 변수를 그대로 사용하기 보다는 객체로 포장하여 사용해야 한다. 원시 타입 값을 포장하게 되면, 그 변수가 의미하는 바를 명확히 나타낼 수 있고, 책임 관계가 보다 명확해지며, 코드의 유지, 보수에도 많은 도움이 된다.
모든 멤버변수에 getter를 생성해 놓고 상태값을 꺼내 그 값으로 객체 외부에서 로직을 수행한다면, 객체가 로직(행동)을 갖고 있는 형태가 아니고 메시지를 주고 받는 형태도 아니게 됩니다.