C#은 값 형식을 참조 형식에 연결하거나 그 반대로 연결하는 두 가지 방법을 제공합니다. 연결을 위한 이 두 가지 방법은 boxing과 unboxing으로 명명되며 Boxing은 값 유형을 개체 유형으로 변환하는 데 사용되는 반면 Unboxing은 개체 유형을 값 유형으로 변환하는 데 사용됩니다.
다음은 Boxing과 Unboxing의 중요한 차이점입니다.
Sr. 아니요. | 키 | 복싱 | 박스 개봉 |
---|---|---|---|
1 | 구현 | Boxing은 객체 유형을 값 유형이라고 합니다. | Unboxing은 기본적으로 boxed 객체에서 값을 가져오는 것을 처리합니다. |
2 | 저장용량 | boxing의 경우 스택에 저장된 값을 힙 메모리에 저장된 객체로 복사한다. | 반면 unboxing의 경우 힙 메모리에 저장된 객체의 값이 스택에 저장된 값 유형으로 복사됩니다. |
3 | 전환 유형 | 암시적 변환으로 알려진 일반적으로 복싱 | Unboxing은 명시적 변환을 의미합니다. |
박싱 대 언박싱의 예
JavaTester.java
public class JavaTester { public static void main(String[] args){ int val = 119; // Boxing Object o = val; // Change the value of val val = 120; //unboxing int x = (int)o; System.out.println("Value of x is {0}"+ x); System.out.println("Value type of val is {0}"+val); System.out.println("Object type of val is {0}"+o); } }
출력
Value of x is {0}119 Value type of val is {0}120 Object type of val is {0}119