박싱과 언박싱 단어 그대로 이해하면 쉽다. 포장과 포장을 뜯는 행위이다.
그렇다면 어떠한것을 포장 또는 포장을 뜯는걸까??
우선 박싱과 언박싱을 알기전에 래퍼클래스에 대해 알아야 한다. 자바의 자료형은
크게 기본타입(primitive type)과 참조타입(reference type)으로 나뉜다.
기본타입 : char, int, float, double, boolean
참조타입 : class, interface
프로그래밍을 하다보면 기본타입의 데이터를 객체로 표현해야할 때가 있다.
이럴때 기본자료타입을 객체로 다루기위해 사용하는 클래스를 래퍼클래스라고 한다.
자바의 모든 기본타입 자료형은 값을 가지는 객체를 생성할 수 있다.
이러한 객체를 포장객체리고 표현하는데 기본타입의 값을 내부에 두고 포장하기때문이다.
래퍼클래스로 감싸고 있는 기본타입값은 외부에서 변경할 수 없으며, 만약 값을 변경하고자 한다면 새로운 포장 객체를 만들어야 한다.
Java 기본형과 자료형 타입
Integer boxing = new Integer(1);
System.out.println(boxing);
int unBoxing = boxing.intValue();
System.out.println(unBoxing);