C++함수와 클래스

클래스와 객체

데이터와 동작을 함께 묶는 C++ 클래스 선언과 객체 생성의 기본 구조를 정리합니다.

마지막 수정 2026년 3월 19일

기본 패턴

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으로 열어 두면 객체가 어떤 규칙으로 변경되는지 관리하기 어려워집니다. 상태를 보호할 이유가 있는지 먼저 생각하는 편이 좋습니다.