クラスとは?くらす
クラスは、オブジェクト指向プログラミングで、データ(属性・メンバ変数)とそれを操作する手続(メソッド)をひとまとめにして定めた「設計図」。クラスそのものはデータの入れ物の形を決めただけで、実際に値を持つ実体(インスタンス)は、クラスをもとに必要な数だけ作られる。1つのクラスから作ったインスタンスは、同じメンバ変数とメソッドを持つが、メンバ変数の値はインスタンスごとに別々。科目Bの擬似言語では、クラスの説明が表で示され、メンバ変数とメソッドの意味を読み取ってプログラムを追うことが求められる。
最終更新:2026-10-10
この語が出る過去問を解く →背景
データと、それを書き換える手続がプログラムのあちこちに散らばっていると、どこでデータが変わったのか追えず、修正のたびに思わぬ箇所が壊れた。関係するデータと手続を1か所にまとめて形を決めておけば、同じ形のデータを何個でも作れ、変更もその1か所で済む。この「まとめて型として定める」単位がクラスである。
具体例
IPA の科目Bのサンプル問題 fe-2022s-kamokuB-10 では、クラス ListElement が単方向リスト(各要素が次の要素の参照、つまり次の要素がどこにあるかを指す値を持ち、一列につながる構造)の1要素を表し、メンバ変数として値 val と次の要素の参照 next を持つ。fe-2022s-kamokuB-8 のクラス PrioQueue は優先度付きキューを表し、要素を入れる・取り出すメソッドを持つ。大学の講義の例でいえば「学生」クラスが学籍番号と氏名を持つ設計図で、山田さん・佐藤さんの一人ひとりがインスタンスにあたる。
試験での引っ掛け
クラスは設計図であって実体ではない。値を持つのはインスタンスで、「クラスに値が格納される」と読むと科目Bのトレース(変数の値の変化を表で追う作業)を誤る。また、データをグループに分ける分析手法のクラスタリング、複数のコンピュータをまとめるクラスタ、IPアドレスのクラス(アドレスクラス)は別物。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 基本情報技術者試験 午前 問64(IPA)解説で登場
業務プロセスを可視化する手法としてUMLを採用した場合の活用シーンはどれか。
正解:複数の観点でプロセスを表現するために,目的に応じたモデル図法を使用し,オブジェクトモデリングのために標準化された記述ルールで表現する。
要点:UMLは複数の図法で対象を多面的に表す標準記法である
UMLはオブジェクト指向のモデリングを標準化した記法で、クラス図、ユースケース図、アクティビティ図、シーケンス図などを目的に応じて使い分ける。同じ対象を構造・振る舞いといった複数の観点から表現できる点が特徴である。業務プロセスの可視化では、この多面的な表現力が生かされる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問14(IPA)
ロードバランサを使用した負荷分散クラスタ構成と比較した場合の,ホットスタンバイ形式によるHA(High Availability)クラスタ構成の特徴はどれか。
正解:待機系サーバとして同一仕様のサーバが必要になるが,障害発生時には待機系サーバに処理を引き継ぐので,障害が発生してもスループットを維持することができる。
要点:ホットスタンバイは待機系を確保し障害時も性能を維持
ホットスタンバイは同一構成の待機系を常時起動しておき、現用系の障害時に処理を引き継ぐ方式である。待機系は平常時に処理を分担しないため設備は余分に要るが、切替え後も1台分の性能をそのまま使えるので、障害時の性能低下が起きにくい。負荷分散クラスタは平常時に全台を使える反面、1台落ちると残りの負荷が上がる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問48(IPA)
整数1~1,000を有効とする入力値が,1~100の場合は処理Aを,101~1,000の場合は処理Bを実行する入力処理モジュールを,同値分割法と境界値分析によっ…
正解:8
要点:境界値は各クラスの内外を挟む値を漏れなく数える
同値クラスは、1未満の無効、1から100の有効、101から1,000の有効、1,001以上の無効の4つに分かれる。条件①より有効な2クラスから境界値でない値を1つずつ選び2個、条件②より境界値として0、1、100、101、1,000、1,001の6個を選ぶ。合わせて8個が最小となる。
出典:平成29年度 秋期 基本情報技術者試験 午前 問7(IPA)
オブジェクト指向プログラミングにおける、多相性を実現するためのオーバーライドの説明はどれか。
正解:スーパークラスで定義されたメソッドをサブクラスで再定義すること
要点:オーバーライドはスーパークラスのメソッドをサブクラスで再定義
オーバーライドは、スーパークラスで定義済みのメソッドを、同じ名前・同じ引数のままサブクラス側で定義し直すことをいう。これにより同じメソッド呼出しでも実際のオブジェクトの型に応じて振る舞いが変わり、多相性(ポリモーフィズム)が実現される。引数違いで同名メソッドを並べるオーバーロードとの区別が頻出である。
出典:平成29年度 秋期 基本情報技術者試験 午前 問28(IPA)解説で登場
UMLを用いて表した図のデータモデルの解釈のうち、適切なものはどれか。
正解:社員は事業部に所属できる。
要点:汎化された子クラスは親クラスの関連をそのまま引き継ぐ
図では事業部が部門を継承しているので、事業部は部門の一種として扱える。部門と社員の関連は部門側が1、社員側が1以上なので、社員は必ずどこかの部門に所属し、その部門が事業部であってもよい。したがって社員は事業部に所属できる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。