본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

이론

AutoBoxing 오토박싱과 Unboxing 언박싱

AutoBoxing 오토박싱과 Unboxing 언박싱은

자바의 기본 데이터 타입과 그에 대응하는 래퍼 클래스간의 변환을 자동으로 처리하는 기능을 말한다.

 

AutoBoxing 오토박싱

기본데이터 타입을 해당하는 래퍼클래스로 자동변환하는 과정

// 정수형 기본 데이터 타입과 래퍼 클래스
int primitiveInt = 42;
Integer wrapperInt = primitiveInt; // 오토박싱 발생

 

Unboxing 언박싱 

래퍼클래스의 기본 객체를 기본 데이터 타입으로 자동 변환하는 과정

// 정수형 기본 데이터 타입과 래퍼 클래스
Integer wrapperInt = 42;
int primitiveInt = wrapperInt; // 언박싱 발생

 

 

 

이러한것들이 어디에 쓰이는걸까?

생각보다 많다. 우리가 모르는새에 오토박싱과 언박싱은 계속해서 일어나고있다.

아래코드를 예로 들자.

객체를 저장할 수 있는 컬렉션에 int형이 객체형으로 자동으로 언박싱이 이루어진다.

List<Integer> numbers = new ArrayList<>();
numbers.add(10); // 오토박싱: int -> Integer

 

 

이러한 오토박싱과 언박싱은 자바의 편의성을 높여주고

형에 관한 개발자의 관심을 적게해 코드를 간결하게 작성할 수 있도록 도와준다.