DAY 10, 11 Mission 2:
5장까지 총 23개의 연습문제가 있습니다.
이 중 
한 문제를 골라 풀이과정을 작성해 주세요.

💡 연습문제 23번


Q. 일부 자바 개발자들은 어떤 객체를 사용한 다음에는 반드시 그 객체의 변수에 NULL을 넣곤 한다. 왜 이것이 좋은 생각일까?

 

 풀이과정


나의 답변

객체 사용후 NULL 값을 넣는 것은 그 객체가 어떤 값을 가지고 메모리를 사용하는 것을 방지한다. 그리고 이렇게 객체를 관리하는 것은 사용되지 않을 객체의 리소스 할당을 없애 리소스 균형을 유지하는데에 있다. 

 

Java의 메모리 관리 레퍼런스(Package java.lang.ref)

객체 생성이 빈번한 큰 프로그램에서는 객체에 사용 후 null 값을 넣는게 효율적이다. 그 이유는 null 값이 할당된 객체는 GC가 발생하면 그 객체를 회수해 다시 객체를 사용할 수 없게 된다. Java의 참조유형은 GC 실행 대상여부, 시점에 따라 나눌 수 있다. StrongReference, SoftReference, WeakReference, PhantomReference으로 갈수록 점점 GC 대상과 실행시간이 당겨진다.

 

책의 정답

어떤 참조가 null을 가리키게 하면, 그 참조가 가리키는 객체에 대한 포인터의 개수는 하나 감소한다. 이 개수가 0이 되면 그 객체는 쓰레기 수집의 대상이 된다. 참조에 null을 넣는 것은, 실행시간이 길어서 메모리 사용량이 시간이 지날수록 늘어나지 않도록 프로그래머가 신경써야 하는 프로그램의 경우 의미있는 일이 될 수 있다.

 

 참고링크


 

 

실용주의 프로그래머 - 교보문고

The Pragmatic Programmer숙련공에서 마스터로프로그래밍은 대체로 머리로 하는 일이지만 한편으로는 몸에 새겨져야 하고 때로는 그 이상의 통찰을 발휘해야 하는 상황에 맞닥뜨리게 되는 복합적인

www.kyobobook.co.kr

 

댓글