70. C++ struct 선언과 사용
1. 개요
1.1 문서 개요
이 문서는 C++에서의 struct
선언과 사용 방법에 대해 정리합니다. 구조체(struct
)는 여러 개의 데이터를 하나의 단위로 묶을 수 있는 사용자 정의 자료형입니다. 클래스(class)와 유사하지만 기본 접근 제어가 다르며, 데이터 중심 구조를 표현할 때 주로 사용됩니다.
2. 내용
2.1 C++에서 struct의 정의 방식
2.1.1 기본 구조
구조체는 다음과 같은 형식으로 정의합니다.
struct Person {
std::string name;
int age;
};
해당 구조체는 Person
이라는 이름을 가지며, 문자열과 정수형 멤버를 포함합니다.
2.1.2 구조체 변수 선언
구조체를 정의한 이후 다음과 같이 인스턴스를 생성할 수 있습니다.
Person p1;
p1.name = "Alice";
p1.age = 30;
또는 초기화 리스트를 사용할 수도 있습니다.
Person p2 = {"Bob", 25};
2.2 구조체와 클래스의 차이점
C++에서 struct
와 class
는 거의 동일하지만, 다음과 같은 차이가 존재합니다.
항목 | struct | class |
---|---|---|
기본 접근 지정자 | public | private |
상속 시 기본 지정자 | public | private |
이로 인해 struct는 데이터 구조를 표현하는 데에, class는 객체 지향 모델 구현에 더 많이 사용됩니다.
2.3 구조체 안에서의 메서드 정의
C++ 구조체는 멤버 함수도 포함할 수 있습니다.
struct Rectangle {
int width, height;
int area() {
return width * height;
}
};
3. 마무리
C++에서 struct
는 데이터를 그룹화하고 명확한 타입 구조를 제공하는 기본 도구입니다. 클래스와의 차이점은 주로 접근 제어 수준에 있으며, 함수 정의 또한 가능하므로 유연한 설계가 가능합니다.