호빵의 IT 개발소

C#에서 클래스(Class)와 구조체(Struct)의 차이점은? 본문

CS(전공지식)/기술면접 준비

C#에서 클래스(Class)와 구조체(Struct)의 차이점은?

호빵Stack 2025. 3. 28. 22:27
C#에서 클래스(Class) vs 구조체(Struct) 차이점 요약
  • 메모리 저장 방식
    • 클래스: 참조 타입 → 힙에 저장, 가비지 컬렉션 대상
    • 구조체: 값 타입 → 스택에 저장, 복사 시 값 복사
  • 상속 여부
    • 클래스: 다른 클래스 상속 가능
    • 구조체: 상속 불가, 인터페이스만 구현 가능
  • 기본 생성자
    • 클래스: 사용자 정의 생성자 사용 가능
    • 구조체: 매개변수 없는 생성자 정의 불가 (기본 생성자는 자동 제공됨)
  • 사용 용도
    • 클래스: 복잡한 객체, 상태 변화가 많은 데이터
    • 구조체: 가볍고, 변경이 적은 데이터 (예: 좌표, 벡터)

 

 

면접 스타일 답변 예시:

C#에서는 클래스는 참조 타입으로 힙에 저장되고 구조체는 값 타입으로 스택에 저장된다는 점이 가장 큰 차이입니다.
클래스는 상속이 가능하고 복잡한 객체 지향 설계에 적합하지만 구조체는 상속이 불가능하고 주로 경량 데이터 타입에 사용됩니다.
또한 구조체는 값 타입 특성상 복사 시 값이 복제되므로 참조로 인한 부작용을 줄일 수 있습니다. 이러한 차이점을 고려해 용도에 맞게 사용하는 것이 중요합니다.
Comments