기본 패턴
cpp
class Player {
public:
void levelUp() { level++; }
private:
int level{1};
};설명
- 클래스는 데이터와 그 데이터를 다루는 함수를 한 단위로 묶습니다.
public은 외부에서 접근 가능한 인터페이스,private은 내부 구현에 가깝습니다.- 객체는 클래스라는 설계도에서 실제로 만들어진 값입니다.
- 캡슐화를 통해 상태 변경 규칙을 클래스 안에 모아 둘 수 있습니다.
짧은 예제
cpp
#include <iostream>
class Counter {
public:
void increment() { value++; }
int get() const { return value; }
private:
int value{0};
};
int main() {
Counter counter;
counter.increment();
std::cout << counter.get() << "\n";
}빠른 정리
| 항목 | 설명 |
|---|---|
class | 사용자 정의 타입 |
| 객체 | 클래스의 실제 인스턴스 |
public | 외부 공개 인터페이스 |
private | 내부 구현 세부사항 |
| 메서드 | 클래스에 속한 함수 |
주의할 점
데이터를 모두 public으로 열어 두면 객체가 어떤 규칙으로 변경되는지 관리하기 어려워집니다. 상태를 보호할 이유가 있는지 먼저 생각하는 편이 좋습니다.