JAVA
[JAVA] Null & NullPointerException(예외)
준몽쓰
2025. 2. 1. 17:45
Null
- 참조형 변수에서 아직 가리키는 대상이 없으면 null = 참조할 주소가 존재하지 않으면 null
- 빈 문자열 또는 빈 배열 " "과 같지 않으며, 빈 배열의 길이는 0이지만, null은 NullPointerException 발생시킨다.
- 기본형 (int, double, float)과 달리 참조 변수(String, int [ ])에는 null을 할당할 수 있으며 이는 컴파일러에 의해 허용됨

- Data data = null : Data 타입을 받을 수 있는 참조형 변수 data를 만들고 null 부여
- data = new Data() : 새로운 Data 객체를 생성해서 참조형 변수 data 할당 받아 참조값을 전달
- data = null : 참조하지 않고 data에 널값 부여

NullPointerException
- null 객체 참조에서 메소드를 호출하려고 할 때 발생하는 예외
객체를 참조할 때 . (dot)를 사용한다. 이 때 참조 값을 이용해서 해당 객체를 찾아간다. 그런데 참조 값이 null이면 값이 없다는 것이므로 찾아갈 수 있는 객체가 없다. NullPointerException은 null에 .(dot)을 찍었을 때 발생한다.

- Data data = null : Data 타입을 받을 수 있는 참조형 변수 data를 만들고 null 부여
- data.value = 10 : 위에 null로 부여했으니 null.value = 10으로 보면 된다. 참조할 객체 인스턴스가 존재하지 않아NullPointerException 이 발생하고, 프로그램이 종료된다.