C# for Beginners – Lesson 20: Value Types vs. Reference Types (and Memory Management)
- 값 형식은 데이터를 스택에 직접 저장하며, 정수, float, double, bool, char, struct 등이 해당됩니다. 📦
- 참조 형식은 힙에 있는 객체에 대한 참조를 저장하며, 클래스, 객체, 문자열, 배열, 리스트 등이 해당됩니다. 🔗
- 값 형식을 다른 변수에 할당하면 데이터의 복사본이 생성되지만, 참조 형식을 할당하면 동일한 객체를 가리키게 됩니다. 👯
- 스택은 LIFO(Last In, First Out) 원칙에 따라 작동하며, 메서드 내에서 생성된 지역 변수들이 저장되고 메서드 종료 시 제거됩니다. 🗑️
- 힙에는 객체가 저장되며, 가비지 컬렉터는 더 이상 참조되지 않는 객체를 자동으로 제거하여 메모리 누수를 방지합니다. 🧹
- 값 형식과 참조 형식의 차이점을 이해하는 것은 객체의 동작 방식을 이해하는 데 중요하며, 예기치 않은 결과를 방지하는 데 도움이 됩니다. 🤔