C#) 값 형식과 참조 형식

2024. 11. 13. 16:09·Programming/C C# C++
반응형

C#은 데이터의 메모리 저장 방식에 따라 두 개의 타입으로 나뉘게 된다.

바로 값 형식(Value Type)과 참조 형식(Reference Type)이다.

 

두 형식은 다음과 같은 차이점이 있다.

값 형식(Value Type) 참조 형식(Reference Type)
변수에 값을 대입하는 데이터 형식
int, double형 등등이 있다.
데이터를 스택(Stack) 메모리에 할당한다.
변수에 값 대신 값의 주소를 대입하는 데이터 형식
대표적으로 object형이 있다.
데이터를 힙(Heap) 메모리에 할당한다.

 

값 형식의 경우 데이터를 복사하여 저장하기 때문에, 원래 변수의 값을 두 번째 변수에 할당하면 원래 변수의 값 사본이 새로운 변수의 위치에 만들어진다. 따라서 첫 번째 변수를 변경해도 두 번째 변수의 값에는 영향을 주지 않는다.

 

반면 참조 형식의 경우 메모리를 복사하는 대신 주소값만 저장하기 때문에, 두 변수가 같은 데이터를 참조하게 된다.

따라서 첫 번째 변수를 변경하는 경우 두 번째 변수에도 영향이 가게 된다.

반응형

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

C#) C#에서의 배열 사용 방법  (2) 2024.11.18
C#) 캐스팅, 박싱, 언박싱  (0) 2024.11.14
C#) Null과 Void의 차이  (0) 2024.11.13
1.1 + 0.1 == 1.2가 false인 이유  (1) 2024.11.11
C#) 문자열 입력 시 변수를 추가하는 방법  (1) 2024.11.08
'Programming/C C# C++' 카테고리의 다른 글
  • C#) C#에서의 배열 사용 방법
  • C#) 캐스팅, 박싱, 언박싱
  • C#) Null과 Void의 차이
  • 1.1 + 0.1 == 1.2가 false인 이유
skajalf
skajalf
skajalf 님의 블로그 입니다.
  • skajalf
    skajalf 님의 블로그
    skajalf
  • 전체
    오늘
    어제
    • 분류 전체보기 (154) N
      • UNITY (6)
        • FanGame (6)
        • Portfolio (0)
      • UnReal (0)
      • DirectX (0)
      • 코딩테스트 (114) N
      • Programming (34)
        • C C# C++ (9)
        • 디자인 패턴 (0)
        • 자료구조 & 알고리즘 (3)
        • 기타 (22)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다들 아는거 굳이 적을 이유가 있을까..?
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
skajalf
C#) 값 형식과 참조 형식
상단으로

티스토리툴바