Introduction
- 참조 형식은 변수에 인스턴스의 참조를 저장한다.
- C#에서 제공되는 참조 형식 목록은 아래와 같다.
목록 |
비고 |
object |
|
string |
|
dynamic |
|
class |
|
interface |
|
delegate |
|
record |
|
- 할당, 메서드 인수 전달 및 리턴 시 인스턴스의 참조가 복사된다.
- 여러 변수가 같은 객체를 공유할 수 있어 데이터 수정 시 다른 변수의 참조에 영향을 줄 수 있다.
Example
internal class MyClass
{
public int X { get; set; }
public MyClass(int x) => X = x;
}
MyClass classTest = new MyClass(10);
var A = classTest;
var B = classTest;
Console.WriteLine($"{A.X}, {B.X}"); // 10, 10
classTest.X = 20;
Console.WriteLine($"{A.X}, {B.X}"); // 20, 20
참조 자료