null 이란?
'참조형 변수가 아무것도 참조하지 않는다'는 뜻으로
객체가 아직 만들어지지 않았거나 연결되지 않은 상태를 나타내는 값이다.
클래스나 객체, String과 같은 참조형(Reference type) 변수에서만 사용 가능하다.
예를 들어,
string name = null; 으로
문자열 String (참조형) 객체를 가리키는 변수인 name에 아무 주소도 연결되지 않았다는 뜻으로 해석할 수 있다.


변수 data에 null값을 대입했으므로 우리가 위에서 생성했던 Data 인스턴스는 더 이상 아무도 참조하지 않게 된다.
이렇게 되면 해당 인스턴스에 다시 접근할 방법이 없어져 사용하지 못하고 메모리의 용량만 차지하게 된다.
이렇게 참조가 사라져 쓸모없는 쓰레기(Garbage)가 된 것들을 개발자가 직접 찾아 삭제하지 않아도 자바의 GC(가비지 컬렉션)이 자동으로 찾아 메모리에서 제거해준다.
null값 vs 빈 값 Empty
null: 아예 객체 자체가 없음
"" : 길이가 0인 문자열 객체가 있음
" " : 스페이스 1개를 가진 문자열 객체가 있음
NullPointerException
NullPointerException은 참조할 객체 인스턴스가 존재하지 않을때 발생하는 오류이다.
쉽게 말해서 null값에 dot(.) 을 붙이면 나는 오류이다.

멤버 변수와 null값 예시




참조값은 null로 자동 초기화되는데 이 null값에 dot(.)을 찍어 NullPointerException 오류가 발생하게 되었다.
이 문제를해결하고 싶다면 BigData 클래스에서 data 멤버변수에 = New Data();를 붙여 참조값을 할당해 주면 된다.
'백엔드 > Java' 카테고리의 다른 글
| [Java 기본] 19. 기본형과 참조형 (0) | 2025.08.30 |
|---|---|
| [Java 기본] 18. 클래스와 객체 (3) | 2025.08.18 |
| [Java 입문] 17. 메서드 (1) | 2025.08.06 |
| [Java 입문] 16. 2차원 배열, for-each문 (4) | 2025.08.05 |
| [Java 입문] 15. 배열 (0) | 2025.08.05 |