C++ 에서 구조체와 클래스의 차이

 

접근 지시자의 차이

구조체 (struct) 의 경우

기본적인 접근 지정자가 public 이고

 

클래스 (class) 의 경우

기본적인 접근 지정자가 private 이다.

 

그 이외의 기능들은 c++에서는 동일하게 사용가능하다.

(함수선언 정의, 생성자 소멸자, 상속 등등)

 

C# 에서 구조체와 클래스의 차이

 

타입의 차이

구조체(struct)의 경우

스택 메모리에 생성 되고

 

클래스(class)의 경우

힙 메모리에 생성된다.

 

구조체는 스택에 할당되어 가비지컬렉션이 발생하지않고

클래스는 힙에 할당되어 가비지지컬렉션이 발생하므로 속도면에서 구조체가 유리하며

크기가 클 경우 클래스는 주소 값만 저장하는 반면 

구조체는 스택에 모두 저장하기 때문에 스택 오버플로우가 발생할 수 있다.

'프로그래밍 공부 > 궁금한 정보들' 카테고리의 다른 글

용어 정리  (0) 2022.02.17
if(!) if문 안에 !의 의미  (0) 2022.02.14
문자열 _T 매크로, C++ 리터럴이란  (0) 2018.01.04
가변인자 함수  (0) 2018.01.03
동적 메모리 할당  (0) 2016.02.18

+ Recent posts