객체 지향 프로그래밍 - 참조 타입

null과 NullPointerException

한모로그 2023. 1. 15. 15:43

null 값

  • null(널) 값: 참조 타입 변수는 아직 번지를 저장하고 있지 않다는 뜻
  • null도 초기값으로 사용할 수 있기 때문에 null로 초기화된 참조 변수는 스택 영역에 생성


    출처, 이것이 자바다


NullPointerException

  • 변수가 null인 상태에서 객체의 데이터나 메소드를 사용하려 할 때 발생하는 예외
  • 참조 변수가 객체를 정확히 참조하도록 번지를 대입해야 해결됨
package ch05.sec04;

/*
 * 참조타입 변수선언시 초기값을 줄때는 null을 사용해야 한다.
 * null을 사용하는 이유는 힙영역에 생성된 주소가 존재하지 않기때문에
 */
public class NullPointerExceptionExample {

    public static void main(String[] args) {

        //참조타입 변수선언 : 스택영역에 기억장소 생성
        //배열
        int[] intArray = null; //힙영역의 생성된 기억장소의 주소가 없는 상태.
        //intArray[0] = 10; //null인상태에서 값을 줘선 안된다.

        String str = null;
        System.out.println(str.length());

    }

}


실행 결과