#DevStudy/C#

박싱과 언박싱

yhc509 2016. 4. 28. 20:22

박싱(Boxing)

object 형식은 참조 형식이기 때문에 힙에 데이터 할당.

int나 double 형식은 값 형식이기 때문에 스택에 데이터 할당.



object a = 20;


위와 같은 코드가 있다면

20은 박싱되어 힙에 할당되고 a는 그 주소를 참조함.



언박싱(Unboxing)

object a = 20;

int b = (int) a;


a가 20이 박싱되어 있는 힙을 참조하고 b는 a가 참조하고 있는 메모리의 값을 복사.

이 때 그 값을 복사하기 위한 과정이 언박싱.