Java의 타입 종류 중 기본형은 앞서 간단하게 소개했다.
이번에는 참조형에 대해 알아보자.
클래스로부터 인스턴스를 생성한 후 생성된 인스턴스를 사용하려면 해당 인스턴스를 특정하는 정보(주소 등)를 알고 있어야 한다.
그 정보를 참조(포인터)라고 부른다.
그리고 참조라는 값을 보관하는 타입을 참조형이라고 부른다.
참조형의 예시로 String 클래스가 있다.
클래스로부터 인스턴스를 생성하는 경우 다음과 같이 new 키워드를 사용한다.
String str = new String("Hello Java");
String 클래스는 문자열 리터럴을 통해 간략하게 인스턴스를 생성할 수 있다.
String str = "Hello Java";
객체의 참조가 없는 상태를 나타내는 특수한 리터럴로, 당연히 참조를 갖지 않는 타입인 기본형에는 대입할 수 없다.
String str = null;
기본형은 객체가 아니다.
하지만 기본형의 값에 대해 조작이 필요한 경우를 위해 자바에서 기본형에 상응하는 클래스를 제공하고 있으며, 이를 Wrapper 클래스라고 부른다.
따라서 Wrapper 클래스는 기본형과 관리된 편리한 상수나 메서드를 가지고 있다.
래퍼클래스 기본 상수에는 SIZE, BYTYES, MAX_VALUE, MIN_VALUE 등이 있다.
래퍼클래스 기본 메서드에는 valueOf(), parseXxx() - parseInt()..., toString() 등이 있다.
기본형과 래퍼클래스 간에는 자동 변환이 실시되며 이를 오토박싱(기본형 > 래퍼클래스)과 언박싱(래퍼클래스 > 기본형)이라고 부른다.