박싱(Boxing) & 언박싱(Unboxing)
박싱
- 기본형 타입을 해당하는 Wrapper 클래스의 객체로 변환하는 과정
- 박싱을 하면 기본형 타입의 값을 감싼 객체가 생성되며, 이 객체는 Heap 메모리에 저장된다.
int num = 10;
Integer objNum = Integer.valueOf(num); // 박싱
언박싱
- Wrapper 클래스의 객체에서 기본형 타입의 값을 추출하는 과정
Integer objNum = 20;
int num = objNum.intValue(); // 언박싱
오토 박싱(Autoboxing) & 오토 언박싱(Unboxing)
Java 1.5 부터 도입된 기능으로, 기본형 타입과 해당 Wrapper 클래스 간의 자동 변환 기능을 제공한다.
오토 박싱
int num = 10;
Integer objNum = num; // 오토 박싱
오토 언박싱
Integer objNum = 20;
int num = objNum; // 오토 언박싱
오토 박싱과 오토 언박싱은 코드를 간결하게 만들어 주고, 기본형 타입과 Wrapper 클래스 간의 변환을 더 편리하게 처리할 수 있도록 도와준다. 하지만, 오토 박싱과 오토 언박싱을 남용하면 성능 저하가 발생할 수 있으므로 불필요한 오토 캐스팅이 일어나는지 확인해야 한다. 특히, 반복문과 같은 성능에 민감한 부분에서는 주의하여 사용해야 한다.
'Languages > Java' 카테고리의 다른 글
[Java] Casting (0) | 2023.08.10 |
---|---|
[Java] 문자열 클래스 & 오브젝트 클래스 (0) | 2023.08.10 |
[Java] 직렬화 (Serialization) (0) | 2023.07.31 |
[Java] Primitive Type & Reference Type (0) | 2023.07.31 |
[Java] Call by Value & Call by Reference (0) | 2023.07.24 |