728x90
📋 NullPointerException이란?
- 이름 그대로 null을 가리킬 때에 발생하는 예외이다. null은 없다는 뜻이므로 결국 주소가 없는 곳을 찾아갈 때 발생하는 예외이다.
- 객체를 참조할 때는, .(dot)을 사용하여 참조값을 사용해 해당 객체를 찾아갈 수 있다. 그러나 참조값이 null이면 값이 없다는 뜻이므로, 찾아갈 수 있는 객체(인스턴스)가 없다. NullPointerException은 이처럼 null에 .을 찍었을 때에 발생한다.
📋 예제1 (지역변수가 null인 경우)
public class NullMain2 {
public static void main(String[] args) {
Data data = null;
data.value = 10; //NullPointerException 예외 발생
System.out.println("data = " + data.value);
}
}
Data data가 null인데 data.value에 10을 넣으면 ? null에 .을 찍는 것이다
(data.value = null.value)

이렇게 NullPointerException이 떠버린다.
📋 예제2 (멤버변수가 null인 경우)


BigData라는 클래스가 있고 그 클래스의 멤버변수들을 가지고 만든 main이 있다고 치자.
BigData의 Data data는 초기값이 null이다.
그러면 bigData.data는 null이된다.
그런데 맨 밑 print를 보면 bigData.data.value라고 했으니 이건 null에 .을 찍은 것과 같다.
====> 고로 NullPointerException이 발생한다.

이건 출력결과.
'Coding > JAVA' 카테고리의 다른 글
| [JAVA]상속과 메서드 오버라이딩(@override) (1) | 2024.09.03 |
|---|---|
| [JAVA] 클래스/메서드 호출 코드 리팩토링 (0) | 2024.08.23 |
| [JAVA] 기본형과 참조형 - 변수 대입 (0) | 2024.08.22 |
| [JAVA]기본형과 참조형 (0) | 2024.08.21 |
| [JAVA] 영화 리뷰 프로그램 (0) | 2024.08.20 |