더북(TheBook)

24.14 박싱과 언박싱

프로그래밍을 하다 보면 데이터의 형식 변환이 필요합니다. 이러한 변환 과정에서 값 형식의 데이터를 참조 형식의 데이터로 변경하는 것을 박싱(boxing)이라고 합니다. 반대로 참조 형식의 데이터를 값 형식의 데이터로 변경하는 것을 언박싱(unboxing)이라고 합니다.

 

박싱

박싱이란 말 그대로 박스에 포장을 하는 것입니다. C#에서 박싱은 값 형식의 데이터를 참조 형식의 데이터로 변환하는 작업을 의미합니다. 예를 들어 다음 코드처럼 정수 형식의 데이터를 오브젝트 형식의 데이터에 담는 형태를 박싱이라고 합니다.

> int i = 1234;
> object o = i;
> o
1234

좀 더 어렵게 말하면 스택 메모리 영역에 저장된 값 형식의 데이터를 힙 메모리 영역에 저장하는 단계를 거치기 때문에 시간과 공간이 소비되는 비용이 발생합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.