본문 바로가기

Backend Study/Java

[JAVA] 오토 박싱 & 오토 언박싱

자바에는 기본 타입과 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