클래스, 인스턴스

윤이령·2026년 4월 20일

클래스 : 설계도
객체 (인스턴스) : 설계도로 만든 실제 제품
클래스 : 객체 = 1 : 다수

클래스 (class)

  • 데이터 형식(Data Type)
  • 객체가 포함할 데이터와 함수를 정의하는 문법적 요소
  • 멤버번수 -> 클래스의 속성
  • 멤버 함수 -> 클래스의 행동
  • 생성자 / 소멸자 -> 특별한 함수

정의

// ic_engine : 부모 클래스
class gs_engine : public ic_engine { 
	public:
    	gs_engine(); // 생성자
        ~gs_engine(); // 소멸자
        int get_current_fuel() {return current_fuel;}; // 멤버함수
        
    private: //접근지정자
    	//멤버 함수
    	void acceleration_output() override;
        void increasing_fuel() {increasing_piston_speed();};
        
        //멤버 변수
        int current_fuel;
        int piston_speed;
};

//멤버 함수 정의
void gs_engine::accleration_output(){
	increasing_fuel();
    current_fuel++;
}

객체(Object / instance)

  • 변수(Variable)
  • 특정 클래스를 사용할 수 있도록 만든 변수
  • 객체 : 논리적 개념 또는 인스턴스를 달리 부를 때. 붕어빵(개념)
  • 인스턴스 : 클래스 정의에 따라 메모리에 실체화된 객체의 형태. 붕어빵(실물)

객체 선언 및 접근

//클래스 정의
class engine {...};

//클래스를 데이터 형식처럼 사용하는 방법
engine my_engine;

//동적할당
engine *my_engine_pointer = new engine();
delete my_engine_pointer;

//멤버에 접근
my_engine.current_fuel; // 변수 접근
my_engine.increasing_piston_speed(); // 함수 호출

0개의 댓글