본문 바로가기
Unity/C#

[C#] 박싱 과 언박싱 (boxing & unboxing)

by Kyoung2 2023. 2. 20.
반응형

개념을 다시잡기 위해 작성한다. 내용이 어떤 건지 알고 있지만 말로 설명하기가 어려워 글로 작성해보고 연습하는 방법을 선택했다.  내가 설명을 잘하기 위해서는 일단 생각을 정리하면서 적는게 가장 효과를 많이 봤다. 내가 정리한 내용은 말로도 술술 나온다.

 

 

1) Boxing  

 

-  Value 타입을 Object 형식 또는 임의의 인터페이스 형식으로 변환하는 것이다.

 Value 타입은  직접적으로 숫자나 데이터를 할당하는 값이라고 생각하면 된다.  여기서 Boxing은 value 타입으로 되어있는 값을 Reference 타입(참조) 형으로 바꿔주는 것이다.

 

 

int i = 123;
object o = (object)i;  // explicit boxing

 

2) UnBoxing

-  reference 타입을 명시적으로 변환하여 Value 타입으로 변환하는 것입니다.

reference 타입은 String, Arrays 등 Heap 영역에 저장되는 타입이며,  heap 영역에서 Stack 메모리에 있는 값을 참조하여 서로 같이 사용할 수 있게하는 타입입니다.

 

int j = (short)o;

 

728x90
반응형

'Unity > C#' 카테고리의 다른 글

[C#] 제네릭  (0) 2023.05.15
[C#] string Builder  (2) 2023.01.02
[C#] DateTime  (6) 2022.08.22
[Unity/C#] C# 코딩 규칙  (0) 2022.08.21
[C#] Byte[] 바이트 배열 string 변환  (0) 2022.08.21

# 로딩 화면 동작 코드(Code) 설정하기
loading