박싱과 언박싱이 중요했던것에 대하여..
박싱
- 값 타입의 객체 or 구조체를 Object 타입으로 변환하는 과정을 뜻한다.
- 단어 그대로 포장을 한다라는 뜻으로 같은 결과값을 불필요한 포장을 거치는 상황을 뜻한다.
언박싱
- 박싱했던 오브젝트 타입의 객체를 다시 값타입으로 변환하는 과정을 뜻한다.
- 박싱과 같은 개념으로 포장한 객체를 다시 포장을 푸는 개념.
int a = 10;
//박싱
object o = a; //오브젝트 타입의 o를 값타입의 a를 저장
//언박싱 예시
o = (int)a; //박싱된 오브젝트 타입의 o를 int타입으로 변환
<박싱과 언박싱 예시>
public class Program
{
static void Main()
{
int a = 4;
ArrayList arrayList = new Arraylist();
arrayList.Add(a);
//ArrayList에 값타입 a를 담는 경우
int b = (int)arrayList[0];
//값타입 b에 오브젝트타입 arrayList[0]를 변환하여 저장하는 경우
}
}