Struct와 Class는 매우 유사한 형태를 띠고 있습니다
Struct는 C에서부터 존재해왔던 사용자 정의 자료구조로 여러 데이터를 하나로 묶어 새로운 자료형을 만들 때 사용하는 키워드입니다
Class는 객체지향 언어에서 생겨난 개념으로 C의 Struct의 기능들 이외에 함수를 정의하는 기능 등이 추가되어있습니다
하지만 Struct도 C++로 넘어오며 함수를 정의하는 기능이나 접근 지정자 등이 추가되며 사용자들로 하여금 Struct와 Class의 사용처의 혼동을 야기합니다 또한 내부적으로 가도 Struct와 Class는 매우 비슷한 형태를 된다고 합니다
때문에 Struct와 Class의 사용처에 대한 문제는 코딩 스탠더드로 해결해야 합니다
간단하게 Struct는 데이터만 가지고 있다고 생각하면 편합니다
1. 가변 길이 멤버 변수나 멤버 함수가 없는 경우
2. 모든 멤버 함수가 public 형태를 뗘도 되는 경우
위 두 가지 경우가 만족한다면 Struct를 사용해도 됩니다 하지만 만족하지 않는다면 Class 사용을 권장합니다
Struct와 Class의 차이점입니다
Struct는 접근 지정자를 지정하지 않으면 기본적으로 멤버 변수들이 Public 형태입니다
Class는 접근지정자를 지정하지않으면 기본적으로 멤버 변수들이 Private 형태입니다
'Language > C++ 그때그때 끄적끄적' 카테고리의 다른 글
[C++] Iterator 반복자 (0) | 2023.05.10 |
---|---|
[C++]람다식이란 (0) | 2022.05.11 |
[C++]typedef (0) | 2022.01.11 |
[C++]키워드(Keyward) 식별자 그리고 예약어 (0) | 2022.01.10 |
[C++]inline 함수와 매크로 함수 (0) | 2021.11.12 |