76. C++ 클래스 정의와 객체 생성
1. 개요
1.1 문서 개요
이 문서는 C++에서 클래스(class)를 정의하고 객체(object)를 생성하는 방법에 대해 설명합니다. 클래스는 객체 지향 프로그래밍(OOP)의 핵심 요소로, 데이터와 기능을 하나로 묶는 사용자 정의 자료형입니다. C++에서 클래스는 구조체(struct)보다 더 정교한 캡슐화를 제공하며, 복잡한 소프트웨어 시스템을 설계할 때 중심적인 역할을 합니다.
2. 내용
2.1 클래스 정의 방법
2.1.1 클래스 기본 구조
C++에서 클래스는 class
키워드를 사용하여 정의하며, 멤버 변수와 멤버 함수로 구성됩니다.
class MyClass {
public:
int x; // 멤버 변수
void print(); // 멤버 함수 선언
};
2.1.2 클래스 정의와 선언 분리
클래스 내부에는 함수 선언만 하고, 외부에서 정의하는 방식도 사용됩니다.
void MyClass::print() {
std::cout << "x = " << x << std::endl;
}
2.2 객체 생성
2.2.1 객체 생성 구문
클래스에서 객체를 생성하려면 다음과 같이 선언합니다.
MyClass obj; // 객체 생성
생성된 객체를 통해 클래스 내부의 멤버에 접근할 수 있습니다.
obj.x = 10;
obj.print();
2.2.2 동적 객체 생성
동적 메모리를 사용하는 경우 new
키워드를 이용합니다.
MyClass* pObj = new MyClass();
pObj->x = 20;
pObj->print();
delete pObj; // 메모리 해제
3. 마무리
C++ 클래스는 객체 지향 설계의 기본 단위로, 캡슐화된 데이터와 기능을 포함합니다. 클래스를 정의하면 이를 기반으로 다양한 객체를 생성하여 프로그램을 구조화할 수 있으며, 이를 통해 유지보수성과 재사용성을 확보할 수 있습니다.