struct와 class

빵어 ㅣ 2024. 1. 17. 23:32

 

struct class
값 타입 (값 복사) 참조 타입 (참조 복사)
스택에 할당 - 상대적으로 작은 크기의 데이터를 저장하기 위해 사용 힙에 할당 - 상대적으로 더 많은 메모리를 사용할 수 있음
상속 지원 X 상속 지원 O
기본 생성자가 제공되며 사용자 정의 생성자에서는 모든 필드를 초기화해 함 (기본 생성자에서는 초기화하지 않아도 됨) 기본 생성자가 제공되며 사용자 정의 생성자에서 모든 필드를 초기화하지 않아도 됨
null값을 가질 수 없음 null값 가질 수 있음
가비지 컬렉션의 대상이 아님 가비지 컬렉션의 대상임
기본 접근 지정자: public 기본 접근 지정자: private

 

 

 

struct와 class 차이 비교 요약

struct는 값 타입으로, 스택에 할당되지만 class는 참조 타입으로, 힙에 할당 됩니다.

따라서 struct는 가비지 컬렉션의 대상이 아니지만 class는 가비지 컬렉션의 대상입니다.

 

또 struct는 상속을 지원하지 않지만 class는 상속을 지원하며,

struct의 기본 접근 지정자는 public, class는 private입니다.

 

'취준 > 기술면접' 카테고리의 다른 글

배열, List, ArrayList, Dictionary  (0) 2024.01.29
가비지 컬렉터, 가비지 컬렉션  (0) 2024.01.19
접근제한자  (0) 2024.01.17
ref와 out (C#)  (1) 2024.01.17
정수형과 부동소수점형, 2의 보수  (0) 2024.01.13