본문 바로가기
C++/C++ 문법

C++ 기본 클래스(class)와 인스턴스(instance)

by Sein_ 2025. 10. 13.
728x90

[Do it C++ 완전정복_ 215~218p]

클래스의 기본 정의

클래스 (class)

  • 속성(멤버 변수) 과 동작(멤버 함수) 을 하나로 묶은 사용자 정의 자료형이다.
  • 클래스는 데이터를 캡슐화하고, 접근 지정자를 통해 멤버에 대한 접근 권한을 설정할 수 있다.
  • 클래스에는 기본적으로 기본 생성자/소멸자(객체 생성/소멸시 자동 호출)가 포함된다.
  • 클래스 안에서는 멤버 함수의 선언만 작성하고,함수의 구현은 클래스 밖에서 범위 지정 연산자(::) 를 사용하여 정의할 수 있다.

클래스 선언과 정의

#include <iostream>
using namespace std;

// 클래스 선언부
class Car {
private:
    int speed;   // 속성 (멤버 변수)

public:
    Car();       // 기본 생성자
    ~Car();      // 소멸자
    void drive(); // 멤버 함수 선언
};

// 클래스 정의부 (구현부)
Car::Car() {
    speed = 0;
    cout << "자동차가 생성되었습니다." << endl;
}

Car::~Car() {
    cout << "자동차가 소멸되었습니다." << endl;
}

void Car::drive() {
    cout << "현재 속도는 " << speed << "km/h 입니다." << endl;
}

 

객체(혹은 인스턴스) 생성

  • 실제 사용할 때는 객체(object) 를 만들어야 한다.
  • 객체를 만드는 방법
    • 스택(Stack) 영역에 생성 : 일반 변수처럼 선언하면 함수 종료 시 자동으로 소멸된다.
    • 힙(Heap) 영역에 동적 생성 (new 사용) : 프로그램 실행 중에 객체를 생성할 때 사용한다.
// main 함수
int main() {
    Car myCar;   // 객체 생성 시 생성자 자동 호출
    myCar.drive();
    return 0;    // 프로그램 종료 시 소멸자 자동 호출
}

 

 

 

'C++ > C++ 문법' 카테고리의 다른 글

C++ 상속성 개념 및 다중 상속  (0) 2025.10.14
C++ 추상화,캡슐화 개념 및 접근 지정자  (0) 2025.10.14
C++ 예외 처리 (try-catch)  (0) 2025.10.13
C++ 반복문과 제어문  (0) 2025.10.13
C++ 조건문 (if, switch)  (0) 2025.10.13