NULL 이란 (NullPointerException)

정지원·2022년 4월 17일
0

NULL : 값이 없음. 즉 할당되지 않은 상태. (0조차 아니다)

이렇게 다들 알고 있지만 NULL 이란 것을 메모리 관점에서 알아볼 필요가 있다.

포인터를 통해 또는 참조변수를 통해 데이터에 접근할때 , 가질 수 있는 값은 크게 2가지로 나뉘어진다.

  1. 유효한 오브젝트의 주소를 가진다.
  2. 유효하지 않은 오브젝트 주소를 가진다.

우리는 2번일 경우의 NULL 값을 리턴 받는다.
즉 메모리관점에서 NULL 은 현재 참조변수의 값(메모리 주소)의 오브젝트가 유효하지 않다는걸 알려주는 역할 또한 하는것이다. (상태 표현)

이를 통해 우리가 알 수 있는 점은

  1. 메모리 주소를 참조할때 , 필요하구나 . 즉 참조변수 타입이 아닌 기본타입에서는 NULL 을 쓸 필요가 없다. 왜냐하면 NULL 의 목적은 해당 메모리 주소에 있는 오브젝트가 유효한지 상태를 나타내주는 것이기 때문이다.

  1. 참조변수가 NULL 이라면 해당 오브젝트가 유효하지 않다는것이기 때문에 해당 오브젝트에 접근할 수 없겠구나 .

라는 점을 알 수 있다.

2번을 좀 더 나아가 보면, 해당 오브젝트가 유효하지 않은데 그 오브젝트에 대해서 접근을 하려고 하면 , 자바에서 NullPointerException 을 터뜨려주는구나 라는 사실을 알 수 있다.

profile
지속적인 발전, 태도

0개의 댓글