자문자답 공부

Struct와 Class 의 차이

Roka_is_back 2024. 2. 23.

내가 생각하는 차이점.

Struct

기본 접근지정자가 public 이다.

보통 자료들을 묶는 역할을 하고 상속은 하지 않기 때문에 vtbl이 생기지 않는다.

사용자들이 memcpy 할 수 있다.

 

Class

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

상속을 할 가능성이 있고 그러면 vtbl 이 생긴다.

사용자들이 memcpy 하면 안된다.(vtbl 까지 값 복사 일어남.)

 

 

조사 내용

Struct

기본 접근 지정자는 Public

단순한 데이터의 집합체를 나타내기 위해 사용.

Class

기본 접근 지정자는 Private

상속,다형성 및 캡슐화와 같은 객체 지향 개념을 더 잘 지원 -> 이때문에 약간의 오버헤드가 발생할 수 있다.

(그래서 단순 데이터는 struct 권장.)

 

내용이 다 비슷하지만 좀 더 단어 선택 등이 깔끔한 듯 하다.



궁금증

Struct 와 Class 의 차이는 접근지정자 밖에 없다.

기능은 동일하다고 하는데 만약 진짜 struct를 상속하고 업캐스팅해도 vtbl이 생길까?

 

 

잘 된다.

 

접근 지정자의 차이를 제외하면 용도의 차이 밖에 없는 것이다.

 

'자문자답 공부' 카테고리의 다른 글

Static / 전역변수 / BSS  (1) 2024.02.28
포인터 / 배열  (0) 2024.02.26
Virtual 키워드  (0) 2024.02.21
[DirectX11] 공전, 자전, 부모 Mat  (2) 2024.01.02
[Directx11] 태양계 과제  (1) 2023.12.30

댓글