배열, 열거, 클래스, 인터페이스
기본 타입의 변수는 실제 값을 변수 안에 저장하는 반면 참조 타입의 변수는 메모리의 번지를 변수 안에 저장한다.
JVM은 할당 받은 메모리 영역을 메소드 영역, 힙 영역, JVM 스택 영역으로 구분하여 사용
참조 타입 변수들 간의 ==, != 연산은 동일한 객체를 참조하는지 아닌지 조사하는 것이다.
참조할 객체가 없다는 뜻의 특수한 값을 의미한다.
참조 객체가 없는 변수(참조 변수가 null을 가짐)를 통해 객체의 데이터나 메소드를 사용하는 코드를 실행하면 발생하는 예외
예외 : 자바에서 프로그램 실행 도중에 발생하는 오류