반응형
728x170
자바는 기본 타입(byte, char, short, int, long, float, double, boolean)의 값을 갖는 객체를 생성할 수 있다. 이런 객체를 포장(wrapper) 객체라고 하는데 그이유는 기본 타입의 값을 내부에 두고 포장하기 때문이다.
포장 클래스는 java.lang 패키지에 포함되어 있는데 다음과 같이 기본 타입에 대응되는 클래스들이 있다.
기본 타입 | 포장 클래스 |
byte | Byte |
char | Character |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
박싱(boxing)과 언박싱(unboxing)
기본 타입의 값을 포장 객체로 만드는 과정을 박싱(boxing)이라 하고 반대로 포장 객체에서 기본 타입의 값을 얻어내는 과정을 언박싱(unboxing)이라고 한다.
소스를 보며 살펴보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public class Wrapper { public static void main(String[] args) { //boxing Integer i1 = new Integer(100); Integer i2 = new Integer("100"); Integer i3 = Integer.valueOf("300"); //unboxing int value = i1.intValue(); int value2 = i2.intValue(); int value3 = i3.intValue(); System.out.println(value); System.out.println(value2); System.out.println(value3); } } Colored by Color Scripter |
5~7 라인은 숫자로되어 있는 값과, 숫자 형태의 문자열을 전부 Integer 클래스에 Boxing한다.
그리고 11~14번째줄에서 unBoxing을 통해 값을 가지고 온다.
이것이 boxing과 unboxing이다.
하지만 자동으로 박싱과 언박싱을 해준다.
바로 예제를 보자
1 2 3 4 5 6 | //자동 boxing Integer i4 = 100; System.out.println(i4); //자동 unboxing int value4 = i4; |
이런식으로 바로바로 진행되도록 자바가 기능을 제공해준다.
반응형
그리드형
'java' 카테고리의 다른 글
자바 날짜(Date, Calendar) 클래스 (0) | 2017.08.18 |
---|---|
자바 Math 클래스, Random 클래스 (0) | 2017.08.18 |
자바 배열 정렬(Arrays.sort() 이용) (0) | 2017.08.18 |
자바 정규 표현식(regular expression) (0) | 2017.08.18 |
자바 String 클래스(StringBuilder), split 메소드 (2) | 2017.08.18 |