struct MyStruct
{
public MyClass refType;
}
class MyClass
{
public int data;
}
- MyStruct 자체는 값 형식이므로,
- 지역 변수라면 스택(Stack)
- 참조 타입 필드 안에 있으면 힙(Heap)
에 저장됩니다.
- 하지만 MyStruct 안의 MyClass는 참조 형식이므로,
- refType 필드에는 힙에 있는 MyClass 객체의 참조(주소) 가 저장됩니다.
- 실제 MyClass 인스턴스 데이터는 힙(Heap) 에 저장됩니다.
즉,
- struct 본체 → 값 형식 저장 규칙을 따름
- 그 안의 class 필드 → 힙에 따로 저장, struct에는 참조만 저장
'C#' 카테고리의 다른 글
| [C#] 정렬 규칙 ,CompareTo함수 (2) | 2025.08.15 |
|---|---|
| [C#] 자료구조 정리 표 (2) | 2025.08.10 |
| [C#] 구조체를 쓰는 이유 (1) | 2025.08.10 |
| [C#] Boxing과 UnBoxing (3) | 2025.07.25 |
| [C#] Garbage Collector (2) | 2025.07.25 |