📦 boxing과 unboxing

정의

boxing과 unboxing은 값 형식과 참조 형식 사이의 변환을 다루는 C#의 개념이다.

🧱 boxing이란?

boxing은 값 형식object 형식으로 변환하는 과정이다.

int i = 123;
object o = i;

boxing이 일어나면 값은 힙 영역에 박싱된다.

🧱 unboxing이란?

unboxing은 boxing된 값을 다시 값 형식으로 꺼내는 과정이다.

int i = 123;
object o = i;
int j = (int)o;

⚠️ 주의사항

  • 잘못된 형식으로 unboxing하면 예외가 발생할 수 있다.
  • boxing은 성능 비용이 생길 수 있으므로 반복 사용을 주의해야 한다.
  • 값 형식을 자주 다루는 경우 제네릭을 함께 고려하는 것이 좋다.

연결문서

댓글남기기