int
, bool
등의 primitive data type ( 원시 자료형 ) 을 object로써 사용할 수 있게 해주는 클래스.
아래 표처럼 원시 자료형의 첫 글자를 대문자로 사용.
Primitive Data Type | Wrapper Class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
객체로 만듦으로써 원시 자료형이 더 여러 방면에 사용 될 수 있게 됨.
ex) Collection object를 사용 할 때 원시 자료형은 저장 할 수 없음
ArrayList<int> myNumbers = new ArrayList<int>(); // Invalid
ArrayList<Integer> myNumbers = new ArrayList<Integer>(); // Valid
또한, wrapper class 내의 여러 기본 method 사용도 가능하게 됨.
원시 자료형을 통해 래퍼 클래스를 생성하는 것을 Boxing,
래퍼 클래스를 통해 원시 자료형을 생성하는 것을 UnBoxing이라고한다.
요즘은, 전부 auto boxing, auto unboxing 된다.
Integer a = 1; // auto boxing ; new Integer(1);
int b = a; // auto Unboxing ; a.intValue();