1. 레퍼런스가 영원히 영역을 벗어남


void A()

{

School s = new School();

}


메소드가 종료되면 's'라는 레퍼런스도 죽어버립니다.


2. 레퍼런스에 다른 객체를 대입


School s = new School();

s = new School();


레퍼런스 's'에 새로운 객체를 대입하면 첫번째 객체는 버려집니다.


3. 레퍼런스를 직접 'null'로 설정


School s = new School();

s = null;


's'를 해제하면 첫번째 객체는 버려집니다.

즉, 레퍼런스 's'가 아무 객체도 참조하지 않는 것입니다.



레퍼런스가 참조하지 않는 객체는 가비지 컬렉션의 대상이 되어 자동으로 정리됩니다.


http://01027921288.tistory.com/entry/JAVA%EA%B0%9D%EC%B2%B4%EB%A5%BC-%EC%A0%9C%EA%B1%B0%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

+ Recent posts