개념
"오토박싱과 오토언박싱은 JAVA 5 부터 지원한다. 이때 내부적으로 Wrapper 클래스들이 사용된다"
Code 예시
public class WrapperExam {
public static void main(String[] args) {
int i=5; //기본형 타입
Integer i2=new Integer(5); // 객체형
Integer i3=5; //오토박싱: 자동으로 형변환(int형),java5 이후
int i4=i3.intValue(); //객체 i3의 값을 추출하여 i4에 저장
int i5=i3; //오토언박싱: 자동으로 객체 i3의 값을 추출하여 i5에 저장, java5 이후
}
}
코드 실습
public class IntegerExam{
public static void main(String[] args){
Integer i1 = 5;//오토박싱: 기본int(5)가 Integer 객체로 변환됨
int max_int = i1.MAX_VALUE; //i1은 Integer 객체라서 오류x, 단 max_int는 오토언박싱으로 인해 int형으로 저장됨
long i1_long = i1.longValue();
// i1_long도 long형으로 저장됨(오토언박싱)
int i2 = 5;
int min_int = i2.MIN_VALUE;
//i2는 int형이기 때문에 MIN_VALUE라는 상수가 없음
long i2_long = i2.longValue();
//같은 이유로 오류 발생
}
}