본문 바로가기

프로그래밍/기타

레퍼런스 타입

◇ 자바데이터 타입

  ▷ 기초타입(Primitive type)
       수치타입  : byte, short, int, long, char (정수) / float, double (실수)
       Boolean타입 : boolean

  ▷ 참조타입(Reference type)
      클래스, 인터페이스, 배열, 열거(enum)

 
      ※ 타입 안에 다수의 값이 들어갈 수 있는 것은 참조타입이라고 볼 수 있다.
      ※ 하지만, 참조변수가 가리키는 것 또한 전달 방식으로 보면 값 타입으로 볼 수 있다.


◇ null 참조값
     Point pt;    // 참조변수                                 Point pt = null;
     System.out.println(pt.x);                               System.out.println(pt.x);
     결과 : 컴파일 에러                                       결과 : 런타임 에러

   → 즉, 초기화 되지 않은 것을 참조하는 것은 문법적인 에러이기 때문에 컴파일 시점에서 처리되지만
       (not initialized),  null 값이라도 초기화 한 것은 문법적으로 초기화 된 것을 참조하려는 것이기 때문에 문법
       적인 에러는  아니며, 실행 시에 발생하는 문제가 된다. (NullPointerException)