💡 기본형 타입에 대응되는 참조형 클래스이다.
기본형 타입 | Wrapper 클래스 |
---|---|
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
int i = 10;
Integer num = new Integer(i);
Integer num = new Integer(10);
int i = num.intValue();
JDK 1.5 이후로는 자바 컴파일러가 박싱과 언박싱이 필요한 상황에 자동으로 처리해준다.
편의성을 위해 오토박싱과 언박싱이 제공되지만, 내부적으로 박싱과 언박싱하는 추가 연산을 거치기 때문에 오토박싱, 언박싱이 일어나지 않도록 구현하는 것이 성능면에서 유리하다.
약 100만 건의 연산을 기준으로 약 5배의 성능 차이가 나기 때문에 불필요한 오토 캐스팅이 일어나지 않도록 구현하는 습관이 필요하다.
Auto Boxing
int i = 10;
Integer num = i;
Auto Unboxing
Integer num = new Integer(10);
int i = num;