1. Null
Java에서 null은 어떤 참조 변수가 아무런 객체도 가리키지 않음을 나타냅니다.
즉, null은 "참조 없음"을 의미합니다. 이것은 참조 변수가 메모리의 어떤 위치도 가리키지 않게 하기 위한 특별한 값입니다.
Object obj = null;
위의 코드에서 obj는 null로 초기화되었으므로 아무런 객체도 가리키지 않습니다.
이렇게 되면 obj를 통해 객체의 메소드를 호출하거나 멤버 변수에 접근하려고 시도하면 NullPointerException이 발생합니다.
2. 가비지컬렉션
Java에서는 가비지 컬렉터라는 시스템이 동작하여 더 이상 사용되지 않는 메모리를 자동으로 회수합니다.
이를 가비지 컬렉션(garbage collection)이라고 합니다.
가비지 컬렉션의 원리를 이해하기 위해서는 먼저 가비지(garbage)의 개념을 알아야 합니다.
가비지는 프로그램에서 더 이상 사용되지 않는 메모리를 차지하는 객체를 가리킵니다.
가비지 컬렉터는 이런 가비지를 찾아내어 메모리를 회수하고, 이 메모리를 다시 사용할 수 있도록 해줍니다.
Java에서는 참조가 더 이상 없는 객체를 가비지로 간주합니다. 즉, 어떤 객체를 가리키는 참조 변수가 없다면 그 객체는 가비지입니다.
Object obj = new Object(); // 새로운 Object 객체 생성
obj = null; // obj 참조 제거
위의 코드에서 new Object()로 생성된 객체는 obj 변수에 의해 참조되었습니다.
그러나 obj = null; 구문을 통해 obj가 더 이상 객체를 참조하지 않게 되었습니다.
이 시점에서 new Object()로 생성된 객체를 가리키는 참조가 없으므로 이 객체는 가비지가 됩니다.
Java의 가비지 컬렉터는 이런 가비지를 찾아내어 메모리를 회수합니다.
이 과정은 프로그램이 실행되는 동안 주기적으로 이루어집니다.
'Backend - Java Spring > JAVA_강의' 카테고리의 다른 글
[JAVA얄코] 문자 자료형 (0) | 2023.10.07 |
---|---|
[JAVA얄코] 실수 자료형들 (0) | 2023.10.07 |
[JAVA얄코] 정수 자료형과 연산자 (0) | 2023.10.07 |
[JAVA얄코] 자료형과 변수 (0) | 2023.10.07 |
[JAVA얄코] Java 시작 (0) | 2023.10.07 |
댓글