자바의 가비지 컬렉션 C, C++ 과 같이 메모리를 직접 관리해야 하는 언어와 달리, 자바는 가비지 컬렉션을 지원한다. 자바의 가비지 컬렉션은 기본적으로 참조를 기반으로 한다. 객체 인스턴스의 쓰임새를 판단해 쓰임이 다 했다고 판단되는 자원을 정리하는 원리이다. 개발자는 메모리를 직접 관리하지 않아도 되지만 적어도 객체의 쓰임이 끝났다는 것을 표현해 주어야 한다. 그렇지 않으면 개발자가 인지하지 못하는 메모리 누수가 발생하여 프로그램의 예기치 못한 종료를 야기할 수 있다.객체 참조를 해제하는 법 객체 참조를 해제하는 가장 단순한 방법은 참조변수에 null 을 할당하는 것이다. 피참조 지정을 잃은 인스턴스는 쓰임새가 다했다는 판단의 범위로 들어가게 된다. 하지만 이 단순한 방법은 예외적인 경우에 활용해야 ..
2개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다 클래스의 인스턴수 변수를 제한하라는 지침이다. 여기서의 인스턴수 변수는 원시타입, 또는 컬렉션과 같이 기본 또는 자료구조형의 변수를 의미한다. 숨은 의미 클래스의 인스턴수 변수는 클래스가 관리하는 '상태' 를 의미한다. 클래스의 상태는 클래스의 정체성을 나타내는 요소이다. 이 상태의 종류가 많다는 것은 클래스가 여러 종류의 정체성을 가지고 설계되었다는 것을 의미한다. 이 지침은 원칙의 세 번째 지침인 '모든 원시값과 문자열을 포장한다' 의 내용과 통한다. 세 번째 지침은 상태에 도메인적 의미를 부여하라는 가이드라고 할 수 있다. 이 일곱번째 지침에서는 의미를 갖는 상태를 어떻게 관리하는 것이 좋은지에 대한 내용을 이야기하고 있다. 예시 class N..
- Total
- Today
- Yesterday