Effective Java - 챕터 2 Item 7-8
*Eliminate obsolete object references** 자바는 garbage-collected language 이다. 편리할 수 있으나 unintentioanl object retention 는 언제든 생길 수 있다. 의도하지 않게 더이상 쓰지 않을 오브젝트들이 메모리를 차지하고 있는 것이다. 예를 들어 Stack 클래스의 pop method 가 다음과 같이 짜여져 있다고 해보자. public Object pop() { if (size == 0) throw new EmptyStackException(); reteurn elements[--size]; } 우리는 pop으로 집은 오브젝트가 더이상 스택에 있다고 간주하지 않는다. 이 스택을 이용하는 사람은 이 점을 잘 알고 있고, 따라서 stack 이 해야하는 모든 동작은 잘 수행한다. ...