이와 같이 기본 타입의 데이터를 래퍼 클래스로 변환하는 과정을 Boxing, 래퍼 클래스의 인스턴스에 저장된 값을 다시 기본 타입으로 데이터를 꺼내오는 과정을 UnBoxing이라고 합니다.
JDK 1.5부터는 박싱과 언박싱이 필요한 상황에서 자바 컴파일러가 이를 자동으로 처리합니다. 이렇게 자동화된 박싱과 언박싱을 오토 박싱(AutoBoxing)과 오토 언박싱(AutoUnBoxing)이라고 부릅니다.
오토 박싱을 이용하면 new 키워드를 사용하지 않고도 자동으로 Character 인스턴스를 생성할 수 있습니다. 반대로 charValue() 메소드를 사용하지 않고도, 오토 언박싱을 이용하여 인스턴스에 저장된 값을 바로 참조할 수 있습니다.
래퍼 클래스의 비교 연산도 가능하지만, 인스턴스에 저장된 값의 동등 여부 판단은 비교 연산자인 동등 연산자(==
)를 사용해서는 안 되며, equals()
메소드를 사용해야 합니다.