예제로 보는 메모리 누수 자바는 가비지 컬렉터를 갖춘 언어이기 때문에 다 쓴 객체를 알아서 해제해준다. 이는 메모리 관리에 더이상 신경쓰지 않아도 된다고 오해할 수 있는데, 절대 사실이 아니다. 메모리 누수가 일어나는 위치는 어디인가? public class Stack { private Object[] elements; // 데이터를 쌓아놓는 경우, 언제 참조해제를 해야하는가?를 염두해야한다. private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Object e) { e..