IT

[Java] 래퍼 클래스(Wrapper Class)와 박싱(Boxing), 언박싱(Unboxing)

data-cloud 2025. 1. 21. 21:05
반응형


☕️ 래퍼 클래스(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)

 

반응형

'IT' 카테고리의 다른 글

[Java] 인터페이스(Interface)  (1) 2025.01.21
[Java] 추상 클래스(Abstract Class)  (1) 2025.01.21
[Database] Key의 종류와 특징  (1) 2025.01.21
[Database] DDL, DML, DCL, TCL  (1) 2025.01.21
[Linux] 리눅스마스터 2급 정리 #2  (4) 2025.01.21