개요
Wrapper 클래스는 기본자료형(ex. int, char, boolean 등)을 참조변수 형태처럼 포장하는 클래스다. 기본 자료형도 값을 인스턴스의 형태로 전달할 필요가 있는데 이때 Wrapper 클래스를 이용하게 된다. 참고로 wrapper 클래스는 모든 기본자료형을 대상으로 제공된다.
기본자료형과 Wrapper 클래스 형태
기본 자료형 | wrapper 클래스 형태 |
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
Wrapper 클래스의 기능
기능 | 설명 | 기능 |
boxing | 박스에 넣다(포장하다) | 기본자료형을 인스턴스로 만들기 |
unboxing | 언박싱(=포장을 풀다) | 인스턴스에서 값을 꺼내기 |
autoBoxing, autoUnboxing
자바 5부터 제공되는 기술로서 박싱 언박싱을 자동으로 처리할 수 있다. 예를들어 int에서 Integer로 박싱이 필요할 때 new Integer(12) 이렇게 명시적으로 선언할 필요가 없다. int 값 할당시 자동으로 박싱이 이루어진다.
반대로 Integer에서 int로 언박싱할때도 Integer.intValue(12) 이렇게 할 필요없다. 참조변수를 할당해도 자동으로 기본자료형으로 변환해준다.
아래 코드를 살펴보자.
Integer 클래스의 - boxing, unboxing
public class WrapperInteger {
//boxing example
Integer integer01 = new Integer(123);
Integer integer02 = 123;
Integer integer03 = integer01;
Integer integer04 = integer02;
String str01 = "456";
//Integer int03 = str01; //오류 발생
Integer integer11 = Integer.parseInt(str01);
Integer integer12 = Integer.parseInt("789");
//unboxing example
int int01 = integer01.intValue();
int int02 = integer02.intValue();
int int03 = integer03;
int int04 = integer04;
}
Boolean 클래스의 - boxing, unboxing
public class WrapperBoolean {
//boxing example
String strFalse = "false";
String strTrrr = "trrr";
Boolean boolean01 = new Boolean("true");
Boolean boolean02 = new Boolean(strFalse);
Boolean boolean03 = boolean01;
//Boolean boolean04 = new Boolean(strTrrr); //오류 발생
//unboxing example
boolean bool01 = boolean01.booleanValue();
boolean bool02 = boolean02;
boolean bool03 = bool01;
}
'Java > 기본' 카테고리의 다른 글
[Java] 유용한 클래스 - Object 클래스 (0) | 2021.06.20 |
---|---|
[Java] 유용한 클래스 - StringBuffer, StringBuilder클래스 (0) | 2021.06.20 |
[Java] 유용한 클래스 - String (0) | 2021.06.20 |
[Java] 유용한 클래스 - Arrays (0) | 2021.06.20 |
[Java] 유용한 클래스 - Calendar, Date (0) | 2021.06.20 |