자바에는 기본 타입과 Wrapper 클래스가 존재한다.
- 기본 타입: int, long, float, double, boolean
- Wrapper 클래스: Integer, Long, Float, Double, Boolean
박싱: 기본 타입 데이터에 대응하는 Wrapper 클래스로 만드는 동작
언박싱: Wrapper 클래스에서 기본 타입으로 변환
//박싱
int i = 10;
Integer num = new Integer(i);
//언박싱
Integer num = new Integer(10);
int i = num.intValue();
Jdk 1.5부터는 자바 컴파일러가 박싱과 언박싱을 필요한 상황에 자동으로 처리를 해준다.
// 오토 박싱
int i = 10;
Integer num = i;
// 오토 언박싱
Integer num = new Integer(10);
int i = num;
-> 자동 연산의 경우 내부적으로 추가 연산 작업을 거치니, 되도록이면 동일한 타입 연산이 이루어지도록 구현하자.
참고: https://gyoogle.dev/blog/computer-language/Java/Auto%20Boxing%20&%20Unboxing.html
'Backend Study > Java' 카테고리의 다른 글
[Java ] JVM, JRE, JDK 차이점 (0) | 2023.08.17 |
---|---|
[Spring boot] 스프링부트의 어노테이션들 (0) | 2023.08.07 |
[JAVA] 람다와 스트림 (0) | 2023.02.13 |
[JAVA] 힙 메모리 사용률 (0) | 2023.02.09 |
[JAVA] static 변수와 메서드 (0) | 2023.02.06 |