Hello

Java 오토박싱 & 언박싱(Autoboxing & Unboxing)

by 볼빵빵오춘기

오토박싱 & 언박싱(Autoboxing Unboxing)

  • 오토박싱 : int → Integer으로 변환하는 것처럼  기본형을 감싸서 래퍼클래스로 자동 바꿔주는 것을 오토박싱이라 한다.
  • 언박싱 : Integer → int으로 변환하는 것처럼 래퍼클래스 기본형으로 자동 바꿔주는 것을 언박싱이라 한다.
더보기

※ 참고. jdk1.5 이전에는 기본형과 참조형간의 연산이 불가능

더보기

컴파일 전과 후의 코드 비교

// 컴파일 전 코드
int i = 5;
Integer iObj = new Integer(7);

int sum = i +iobj;
// 컴파일 후 코드
int i = 5;
Integer iObj = new Integer(7);

int sum = i +iobj.intValue();

⇒ 기본형 → 참조형으로 변환. 원칙적으로 형변환 사용불가였으나 컴파일러가 자동으로 바꿔준다.

 

예제

import java.util.ArrayList;

public class VarEx3 {
	public static void main(String[] args) {
		ArrayList<Integer> list = new ArrayList<Integer>();
		list.add(100); // JDK 1.5이전에는 에러였음 
		list.add(new Integer(100));
		
		int i2 = list.get(0).intValue(); // intValue()로 Integer로 변환  
		Integer i = list.get(0); // list에 저장된 첫번째 객체를 꺼낸다. 언박싱 위에 코드처럼해야하지만 바로 꺼낼수있다.
		
		
	}
}

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기