C# 문법 4주차 - 값형과 참조형

Amberjack·2024년 1월 2일
0

C# 문법

목록 보기
26/44

🔢 값형(Value Type)

  • 값형은 변수에 값을 직접 저장한다.
  • 변수가 실제 데이터를 보유하고 있으며, 해당 변수를 다른 변수에 할당하거나 전달할 때는 값이 복사된다.
  • 값형 변수의 수정은 해당 변수의 값만 변경하므로 다른 변수에 영향을 주지 않는다.
  • int, float, double, bool 등의 기본 데이터 타입들이 값형에 해당한다.
struct MyStruct
{
    public int Value;
}

MyStruct struct1 = new MyStruct();
struct1.Value = 10;

MyStruct struct2 = struct1; // struct2는 struct1의 값 복사

struct2.Value = 20;

Console.WriteLine(struct1.Value); // 출력 결과: 10, 값이 안바뀌는 모습

🎯 참조형(Reference Type)

  • 참조형은 변수가 데이터에 대한 참조(메모리 주소)를 저장.
  • 변수가 실제 데이터를 가리키는 참조를 갖고 있으며, 해당 변수를 다른 변수에 할당하거나 전달할 때는 참조가 복사된다.
  • 참조형 변수의 수정은 동일한 데이터를 가리키고 있는 다른 변수에 영향을 줄 수 있다.
  • 클래스, 배열, 인터페이스 등이 참조형에 해당한다.
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, 값이 변경된 모습!

🥊 값형과 참조형의 차이점

  • 값형은 실제 데이터를 변수에 저장, 참조형은 데이터에 대한 참조를 변수에 저장
  • 값형은 변수 간의 값 복사가 이루어지고, 참조형은 변수 간의 참조 복사가 이루어짐
  • 값형은 변수가 독립적으로 데이터를 가지며, 참조형은 변수가 동일한 데이터를 참조한다.

0개의 댓글