◇ 자바데이터 타입
▷ 기초타입(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)
▷ 기초타입(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)