最終更新日:2026年7月7日
fe fe-technology programming
まず結論
クラスとは、オブジェクトの共通する性質や動作をまとめた設計図です。
インスタンスとは、クラスという設計図をもとに作られた具体的な実体です。
基本情報技術者試験では、まず クラスが先、インスタンスが後 と押さえると分かりやすいです。
クラス = 設計図・型
インスタンス = 設計図から作られた実体
直感的な説明
クラスとインスタンスは、たい焼きの型と、実際に焼かれたたい焼きで考えると分かりやすいです。
たい焼きの型
→ クラス
実際に焼かれたたい焼き
→ インスタンス
たい焼きの型は、「どんな形のたい焼きを作るか」を決めます。
でも、型そのものは食べられません。
型を使って作られた、具体的なたい焼きが実体です。
プログラムでも同じです。
クラスは、データや処理の形を決めます。
そのクラスをもとに作られた具体的なものがインスタンスです。
定義・仕組み
オブジェクト指向では、データと処理をひとまとまりにして扱います。
このまとまりの設計図になるのがクラスです。
| 用語 | 意味 |
|---|---|
| クラス | データや処理の共通の定義をまとめたもの |
| インスタンス | クラスから作られた具体的な実体 |
| 属性 | インスタンスが持つデータ |
| メソッド | インスタンスが行える処理 |
| オブジェクト | 文脈によって、インスタンスとほぼ同じ意味で使われることが多い |
例えば、Car というクラスを考えます。
Carクラス
- 属性:色、速度、燃料
- メソッド:走る、止まる、曲がる
この Car クラスから、具体的な車を作れます。
car1 = 赤い車
car2 = 青い車
car3 = 白い車
この car1、car2、car3 がインスタンスです。
1つのクラスから、値の異なる複数のインスタンスを作ることができます。
このテーマは、基本情報技術者試験の「アルゴリズムとプログラミング」や「オブジェクト指向」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、クラスとインスタンスの関係を問う問題が出やすいです。
判断するときは、次の対応をまず押さえます。
| 表現 | 対応する用語 |
|---|---|
| 仕様を定義するもの | クラス |
| 設計図・型 | クラス |
| 定義に基づいて作られるもの | インスタンス |
| 具体的なデータを持つ実体 | インスタンス |
| データ | 属性 |
| 処理 | メソッド |
選択肢では、クラスとインスタンスの主従関係が逆になっていないかを見ます。
正しい関係
クラスの定義に基づいて、インスタンスが生成される
逆に、次のような表現は誤りです。
インスタンスがクラスの仕様を定義する
1つのクラスからインスタンスは1つしか作れない
1つのインスタンスに複数のクラスが対応する
FE試験では、細かいプログラム文法よりも、まずこの関係を切り分けることが大切です。
科目Bでどう使う?
科目Bでは、クラスやインスタンスの考え方が、プログラムの読み取りで役立ちます。
特に、次のような点を追うと読みやすくなります。
1. どのクラスの話か
2. どのインスタンスの話か
3. そのインスタンスの属性は何か
4. どのメソッドで属性が変わるか
例えば、同じ Car クラスから作られたインスタンスでも、属性の値は別々です。
car1.color = 赤
car2.color = 青
このとき、car1 の色を変えても、通常は car2 の色まで同時に変わるわけではありません。
car1.color = 白
car1 → 白
car2 → 青のまま
科目Bでは、クラス全体の定義と、個々のインスタンスが持つ値を分けて読むことが大切です。
よくある誤解・混同
クラスとインスタンスでよくある誤解は、どちらが設計図で、どちらが実体かを逆にしてしまうことです。
| 誤解 | 正しい理解 |
|---|---|
| インスタンスがクラスの仕様を定義する | クラスが仕様を定義する |
| クラスは実体そのもの | クラスは設計図・型 |
| インスタンスは設計図 | インスタンスは設計図から作られた実体 |
| 1つのクラスから1つのインスタンスしか作れない | 1つのクラスから複数のインスタンスを作れる |
| 属性とメソッドは同じ | 属性はデータ、メソッドは処理 |
特に、オブジェクトという言葉は少しあいまいに使われることがあります。
FE試験では、まず次のように整理すると十分です。
クラス
→ 設計図
インスタンス
→ 設計図から作られた具体物
オブジェクト
→ 文脈によってインスタンスに近い意味で使われることが多い
細かい言語仕様に入る前に、この基本関係を押さえるのが実戦的です。
まとめ(試験直前用)
- クラスは、データや処理をまとめた設計図・型
- インスタンスは、クラスから作られた具体的な実体
- 正しい関係は「クラスの定義に基づいてインスタンスが生成される」
- 1つのクラスから複数のインスタンスを作れる
- 属性はデータ、メソッドは処理として切り分ける