게임 프로그래밍/C#

구조체와 클래스 차이

스게 2021. 11. 12. 11:21

1. 모든 구조체 형식은 암시적으로 System.ValueType 클래스를 상속한다.
2. 구조체는 값 형식을 사용하고, 클래스는 참조 형식을 사용한다.
3. 구조체와 클래스 모두 접근 권한을 지정하지 않으면 private으로 지정된다.
4. 구조체는 인스턴스 필드 초기화(Instance filed initialization) 사용할 수 없다.
5. 구조체는 매개변수 없는 생성자를 선언할 수 없다. (변수 초기화는 자동)
6. 구조체는 소멸자를 선언할 수 없다.
7. 구조체는 상속이 불가능하다.
8. 구조체는 값 형식이기 때문에 Boxing 및 unboxing 과정이 필요하다.
9. 객체 복사시에도 구조체는 값 복사, 클래스는 참조 복사가 이루어진다.