본문 바로가기

CS 지식

[C++] struct vs class

1. struct (구조체)

하나 이상의 기본 타입을 가지고 새로운 자료형을 정의하는 사용자 정의 타입이다.

다양한 타입의 변수 집합을 하나의 타입으로 나타낸 것이다.

기본 접근자는 public이다.

struct Cat{	
	string name;
    	string color;
    	int age;
    	int cat_num;
};

 

2. class

비슷한 타입의 변수와 관련 프로세스를 수행하는 메소드를 정의한 틀이다.

기본 접근자는 private이다.

 

3. struct vs class

기본 접근자가 서로 다르다.

초기화 방식에서도 차이가 있다.

struct SomeStruct
{
    int var;
    int varPrivate;
};

class SomeClass
{
    int var;
    int varPrivate;
};

int main(){
    SomeStruct someS = {1, 2};
    SomeClass  someC = {1, 2};  // ERROR
}

 

참고자료

https://github.com/Romanticism-GameDeveloper/GameDeveloper-Client-Interview/blob/main/C%2B%2B/struct%2C%20class.md

https://min-zero.tistory.com/entry/C-%EA%B8%B0%EB%B3%B8-%EA%B3%B5%EB%B6%80%EC%A0%95%EB%A6%AC-9-%EA%B5%AC%EC%A1%B0%EC%B2%B4struct

'CS 지식' 카테고리의 다른 글

[C++] typedef vs using (별칭 선언)  (0) 2025.05.08
[C++] template  (0) 2025.05.08
[C++] static  (0) 2025.05.08
[C++] map vs unordered_map  (0) 2025.05.08
[C++] malloc(), free() vs new, delete  (0) 2025.04.20