티스토리 뷰

LANGUAGE/C#

[C#] 값 형식 / 참조 형식

진심스테이크 2018. 6. 12. 23:18

값 형식

- System.Object + System.ValueType 에서 파생

- 변수가 직접 값을 저장하는 형

- 기본 데이터형

- 구조체

- 열거형

- 선언 vs 생성 (new)

namespace _0612
{
    class Program
    {
        static void Main(String[] args)
        {
            int val1 = 12;
            int val2 = new int(); //초기화를 하지 않아도 0 값이 지정되어있음
            //Object 객체를 통해서 상속을 받고 있기 때문
            Console.WriteLine("{0} {1}", val1, val2); //12 0
        }
    }
}

 


 

참조 형식

- 한 객체를 참조형 변수를 사용할 때, 참조형에 의해 내용이 바뀌면 객체에 영향을 줌

- class, interface, delegate, 배열, string

- 객체와 참조형 사이의 대입은 객체의 메모리 주소가 복사됨

namespace _0612
{
    class Program
    {
        static void Main(String[] args)
        {
            int[] arr = { 1, 2, 3 };
            int[] RefArr; //참조형 배열 변수
            RefArr = arr;
            RefArr[1] = 20;
            Console.WriteLine("{0} {1} {2}", arr[0], arr[1], arr[2]); //1 20 3
        }
    }
}

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

[C#] 배열  (0) 2018.06.14
[C#] 기본 문법  (0) 2018.06.13
[C#] 사용자 지정형  (0) 2018.06.12
[C#] 표준 입력  (0) 2018.06.12
[C#] 변환  (0) 2018.06.12
댓글