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'가 아무 객체도 참조하지 않는 것입니다.
레퍼런스가 참조하지 않는 객체는 가비지 컬렉션의 대상이 되어 자동으로 정리됩니다.
'STUDY > JAVA' 카테고리의 다른 글
[JAVA]어노테이션(Annotation) - 1 (0) | 2019.09.24 |
---|---|
[JAVA] Java 코딩 스타일 가이드 (0) | 2019.01.21 |
[JAVA]싱글톤 패턴(singleton pattern)이란 ?? (0) | 2018.09.12 |
[JAVA]내부클래스, 중첩클래스, 지역클래스, 익명클래스 (0) | 2018.09.12 |
[JAVA]접근제어자 (0) | 2018.09.12 |