핵심정리 어떤 객체에 대한 레퍼런스가 남아있다면 해당 객체는 가비지 컬렉션의 대상이 되지 않는다. 자기 메모리를 직접 관리하는 클래스라면 메모리 누수에 주의해야 한다. ex) 스택, 캐시, 리스너 또는 콜백 Stack 예시 public Object pop() { if (size == 0) throw new EmptyStackException(); Object result = elements[--size]; elements[size] = null; // 다 쓴 참조 해제 return result; } 참조 객체를 null 처리 하는 일은 예외적인 경우이며, 가장 좋은 방법은 유효 범위 밖으로 밀어내는 것이다. but, 예외적인 경우가 흔하다. public class Stack { private Object..