C++のオブジェクト(Object)とは?クラスとの関係と役割をわかりやすく解説!
C++を学んでいると必ず出てくる言葉が「オブジェクト(Object)」です。
クラスと一緒に登場することが多く、少し混乱しがちですが、オブジェクトの役割を理解するとC++のプログラミングが一気にわかりやすくなります。
この記事では、初心者向けに「C++のオブジェクト」について丁寧に解説します。
オブジェクトとは?クラスとの違い
C++におけるオブジェクトとは、クラスという設計図から作られた実体(具体的なもの)です。
たとえば「車(Car)」というクラスがあるとします。これは車の基本的な情報(名前やスピード)と機能(加速、ブレーキ)を定義した「型」や「設計図」です。
そのクラスをもとに作られる「スバル」や「トヨタ」といった具体的な車が、オブジェクトです。
オブジェクトの生成方法
クラスを使ってオブジェクトを作るには、以下のように記述します。
Car myCar("スバル");
このコードでは、「Car」というクラスから「myCar」というオブジェクトを作成しています。
このとき、自動的にコンストラクタが呼び出され、初期化が行われます。
オブジェクトの特徴と役割
オブジェクトには以下のような特徴と役割があります:
- クラスの機能を実際に使えるようにする存在
- 複数のオブジェクトを同じクラスから作れる(例:「Car」から「スバル」「トヨタ」など)
- オブジェクトごとに異なるデータを持つことができる(nameやspeedなど)
オブジェクトの使用例
#include <iostream>
using namespace std;
class Car {
private:
string name;
int speed;
public:
Car(string carName) {
name = carName;
speed = 0;
}
void accelerate() {
speed += 10;
cout << name << " のスピードは " << speed << " km/h になりました。" << endl;
}
};
int main() {
Car car1("スバル");
Car car2("トヨタ");
car1.accelerate();
car2.accelerate();
return 0;
}
このプログラムでは、car1
とcar2
という2つのオブジェクトを生成し、それぞれが独立して機能しています。
オブジェクトを使うメリット
- 現実世界のモノをそのまま表現できる
- 複数のオブジェクトで同じ機能を共有できる
- コードの再利用や管理がしやすくなる
まとめ
C++におけるオブジェクトとは、クラスから作られる具体的な実体です。
クラスが「設計図」であるのに対して、オブジェクトは「製品」にあたります。
C++の世界では、この「クラス」と「オブジェクト」の関係をしっかり理解することが、オブジェクト指向プログラミングを身につける第一歩となります。
ぜひ実際にオブジェクトを作って、動かしてみるところから始めてみましょう!