C#

65.C# - 값형식과 참조형식 ( Boxing 과 UnBoxing )

Godffs 2009. 8. 17. 20:42
반응형

그림-65

 .Net FrameWork영역 운영체제와는 별계로 값이 스택에 붙으면
value이고 힙에 붙으면참조형
박싱 -> 스택 (힙영역의 값을 푸는것)  /   박싱 -> 힙 (형 변환)

Program.cs
using System;

class 값형식과참조형식
{
    static void Main(string[] args)
    {
        //값 형식 : Value Type : 닷넷이 관리하는 메모리의 스택에 보관
        int i = 1234;
        
        //참조 형식 : Reference Type : 닷넷의 힙 메모리에 보관
        string s = "안녕\0하세요"; //리터널(Literal)
        Console.WriteLine(s);

        //박싱(Boxing)과 언박싱(UnBoxing)
        string su = "1234";
        int num = Convert.ToInt32(su); //문자열su를 정수형으로 변환
        //힙 -> 스택 : 언박싱

       
        su = i.ToString(); //스택 -> 힙 : Boxing

        su = null; //GC엔진활동

        //구조체는 값 형식, 클래스 참조형식

        //Car car = new Car(); //생성 new 사용하면 영역은 힙영역에 저장
        //car.Run(); //사용
        //delete car; //이런 명령어 없다...
    }
}

결과화면


65.Boxing_UnBoxing.zip
다운로드

반응형