null이란?
: 참조 타입 변수가 아직 번지를 저장하고 있지 않다는 뜻
- 초기 값으로 사용 가능 → null로 초기화된 참조 변수는 스택 영역에 생성

String refVar1 = 50;
String refVar2 = null;
refVar1 == null //결과: false
refVar2 == null //결과: true
NullPointerException
: 변수가 null인 상태에서 객체의 데이터나 메소드를 사용하려할 때 발생하는 에러
public class NullPointerExceptionExample {
public static void main(String[] args) {
int[] intArray = null;
// intArray[0] = 10; //NullPointerException
String str = null;
// System.out.println(str.length()); //NullPointerException
}
}
Exception in thread "main" java.lang.NullPointerException: Cannot store to int array because "intArray" is null at ch05.sec04.NullPointerExceptionExample.main(NullPointerExceptionExample.java:6)
→ intArray가 참조하는 배열 객체가 없으므로 10을 저장할 수 없음.
→ str 변수가 참조하는 String 객체가 없으므로 문자열의 길이를 구할 수 없음.
쓰레기 객체
: 어떤 변수에도 객체를 참조하지 않으면 해당 객체는 프로그램에서 사용할 수 없는 객체가 된다.
- 힙 메모리에는 있지만, 위치 정보를 모르기 때문에 사용할 수 없게 된 객체를 우리는 쓰레기 객체라고 하고, 쓰레기 수집기(Garbage Collector)을 실행시켜 자동으로 제거 한다.

String hobby = 10;
hobby = null;
'[Java] 자바' 카테고리의 다른 글
| [JAVA] 인터페이스 (1) | 2024.07.08 |
|---|---|
| [JAVA] 생성자 (0) | 2024.07.02 |
| [JAVA] 클래스, 객체, 인스턴스 (0) | 2024.06.25 |
| [JAVA] String 클래스 (0) | 2024.06.21 |
| [JAVA][자바] 객체지향 프로그래밍 (0) | 2022.12.01 |