[C#] 값형과 참조형
[C#] 값형과 참조형
값형과 참조형
C#에서 변수가 데이터를 저장하는 방식을 나타낸다.
값형(Value Type)
- 값형은 변수에 값을 직접 저장하며, 변수가 실제 데이터를 보유하고 있으며, 해당 변수를 다른 변수에 할당하거나 전달할 때는 값이 복사된다.
- 값형 변수의 수정은 해당 변수의 값만 변경하므로 다른 변수에 영향을 주지 않는다.
int, float, double, bool 등의 기본 데이터 타입들이 값형에 해당한다.1 2 3 4 5 6
int a = 10; int b = a; b = 20; Console.WriteLine(a); // 출력 결과: 10 Console.WriteLine(b); // 출력 결과: 20
참조형(Reference Type)
- 참조형은 변수가 데이터에 대한 참조(
메모리 주소)를 저장한다. - 변수가 실제 데이터를 가리키는 참조를 갖고 있으며, 해당 변수를 다른 변수에 할당하거나 전달할 때는 참조가 복사된다.
- 참조형 변수의 수정은 동일한 데이터를 가리키고 있는 다른 변수에 영향을 줄 수 있다.
클래스(Class), 배열(Array), 인터페이스(Interface) 등이 참조형에 해당한다.1 2 3 4 5 6 7 8 9 10 11 12 13
class MyClass { public int Value; } MyClass obj1 = new MyClass(); obj1.Value = 10; MyClass obj2 = obj1; // obj2는 obj1과 동일한 객체를 참조 obj2.Value = 20; Console.WriteLine(obj1.Value); // 출력 결과: 20
값형은 실제 데이터를 변수에 저장하고, 참조형은 데이터에 대한 참조를 변수에 저장한다. 값형은 변수 간의 값 복사가 이루어지고, 참조형은 변수 간의 참조 복사가 이루어진다. 값형은 변수가 독립적으로 데이터를 가지며, 참조형은 변수가 동일한 데이터를 참조한다.
This post is licensed under CC BY 4.0 by the author.