[C#] 구조체와 클래스의 차이점

한승호·2022년 8월 10일

C# 공부

목록 보기
9/13

구조체와 클래스의 차이점

  • 구조체는 값타입, 클래스는 참조타입이라는 차이가 있다.
  • 구조체는 클래스를 사용할 때, 참조로 발생하는 시간 or 비용적에서 비효율적인 부분을 없애기 위해 사용한다고 한다.
  • C#에서는 크기가 작고 단순한 즉, 임시적이면서 데이터가 작은 것들을 구조체로 사용한다.
  • 구조체는 상속이 불가능하다. 다만, 인터페이스는 상속할 수 있다

구조체는 스택 영역에 할당되며, 클래스는 힙 영역에 할당된다.

  • 위에 말했던, 타입에 따른 메모리 할당
  • 힙 영역은 런타임에 할당되며, 동적 할당 기능을 통해 가변적으로 확보되기 때문에 가비지 컬렉션의 영향을 받는다.
  • 구조체는 스택에 생성되기 때문에 가비지 컬렉션의 영향을 받지 않는다.
profile
모든 실수를 경험해 더 발전하고 싶은 개발자입니다.

0개의 댓글