본문 바로가기

코딩/C#

[C#] 언박싱(UnBoxing)

반응형

언박싱은 박싱된 참조타입을 다시 값타입으로 변환하는 것을 말한다.

언박싱의 순서

1. 해당 객체가 지정한 값타입을 Boxing한 값인지 확인한다.

2. 박싱된 객체라면 객체의 값을 값타입 변수에 복사한다.

3. 박싱한 메모리와 언박싱한 메모리 두개가 존재한다. (스택에 생성된 메모리와 힙메모리는 전혀 별개의 메모리이다.)

using System;
class UnBoxing{
 public static void Main(){
  int b=123;
  object o = b; // boxing
  int ub = (int) o; // unboxing은 명시적으로 캐스팅해주어야한다.
  Console.WriteLine("b = " + b);
  Console.WriteLine("ub = " + ub);
  Console.WriteLine("o = " + o);
 }//main
}//unboxing class
//출력결과
//b = 123
//ub = 123
//o = 123
반응형

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

[C#] 제네릭(Generics)  (0) 2016.03.18
[C#] 인터페이스와 추상클래스  (0) 2016.03.14
[C#] 박싱(Boxing)  (0) 2016.03.14
[C#] 람다식(Lamda Expression)  (0) 2016.03.10
[C#] WOL(Wake On Lan)  (0) 2016.03.10