반응형
☕️ 래퍼 클래스(Wrapper Class)란?
래퍼 클래스란 8개의 기본 타입에 해당하는 데이터를 객체로 표현하기 위해 포장해 주는 클래스를 뜻한다.
기본 타입 | 래퍼 클래스 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
☕️ 박싱(Boxing)과 언박싱(Unboxing)
Boxing은 원시 타입의 값을 래퍼 클래스(Wrapper class)로 변환하는 것을 의미하며,
Unboxing은 래퍼 클래스를 원시 타입으로 변환하는 것을 의미한다.
int n = 10;
// 박싱
Integer boxingNum = new Integer(n);
System.out.println("boxingNum = " + boxingNum); // 10
// 언박싱
int unbonxingNum = boxingNum.intValue();
System.out.println("unbonxingNum = " + unbonxingNum); // 10
JDK 1.5부터는 오토 박싱(Auto Boxing)과 오토 언박싱(Auto UnBoxing)을 지원한다.
위의 코드처럼 명시적으로 표현하지 않아도 컴파일러가 자동으로 처리해주기 때문에 아래와 같이 코드를 작성할 수 있다.
int n = 10;
// 오토 박싱
Integer autoBoxingNum = n;
System.out.println("autoBoxingNum = " + autoBoxingNum); // 10
// 오토 언박싱
int autoUnbonxingNum = autoBoxingNum;
System.out.println("autoUnbonxingNum = " + autoUnbonxingNum); // 10
References.
1. 남제이 - [JAVA] 래퍼 클래스 (Wrapper Class)
2. JOKER - [JAVA/자바] 래퍼(Wrapper) 클래스와 박싱(boxing), 언박싱(un-boxing)
반응형
'Java' 카테고리의 다른 글
[Java] 인터페이스(Interface) (0) | 2023.07.27 |
---|---|
[Java] 추상 클래스(Abstract Class) (0) | 2023.07.26 |
[Java] final 제어자 (0) | 2023.04.21 |
[Java] 접근제어자 (0) | 2023.04.21 |
[Java] String, StringBuffer, StringBuilder 차이 (2) | 2023.04.16 |