クラス【class】

概要

クラスとは、級、階級、等級、格、類、分類、種類、学級、科目、授業などの意味を持つ英単語。ITの分野では、オブジェクト指向プログラミングにおけるオブジェクトの雛形や、何らかの階級や分類を表す名称の一部としてよく用いられる。

オブジェクト指向プログラミングのクラス

オブジェクト指向では、互いに関連するデータと、データに対する操作(メソッド)を一つの「オブジェクト」(object)と呼ばれる単位に一体化(カプセル化)して取り扱う。あるオブジェクトがどのようなデータとメソッドから作られるのかを定義した雛形をクラスという。

プログラムの実行時にはクラスを元にメモリ空間上に具体的なオブジェクトが生成される。この実体化されたオブジェクトのことを「インスタンス」(instance)という。同じクラスから複数のインスタンスを生成することができ、それぞれ異なる内部状態を持つことができる。

クラスには、オブジェクト内部で取り扱うデータ(フィールド/メンバ変数)の名称やデータ型、アクセス可能な範囲(クラス外から参照・操作可能か否かなど)を宣言する。同様にメソッド(メンバ関数)の名称や引数、処理内容の詳細、アクセス範囲も記述する。

データや手続きは通常はインスタンスに属するが、クラスそのものに属するものを宣言することができる。クラス自体に属するデータを「クラス変数」(静的フィールド/静的メンバ変数)、クラス自体に属する手続きを「クラスメソッド」(静的メソッド)という。

クラスの継承

クラスベースのプログラミング言語では、あるクラスを元に一部を改変して別のクラスを定義することができ、これをクラスの「継承」(inheritance)という。このとき、元になったクラスを「親クラス」(parent class)「スーパークラス」(superclass)「基底クラス」(base class)などと呼び、新たに定義されたクラスは「子クラス」(child class)「サブクラス」(subclass)「派生クラス」(derived class)などという。

抽象的・汎用的なクラスを元に具体的な機能を付け足したクラスを派生させていくことで、大規模なソフトウェアを効率的に開発することができる。言語によっては親クラスのメソッドを子クラスが同じ名前で別の内容に差し替えることができる。このように、同じ名前がクラスによって異なる内容を指すことを「ポリモーフィズム」(polymorphism:多態性)という。

他の辞典等による「クラス」の解説 (外部サイト)

資格試験などの「クラス」の出題履歴

▼ ITパスポート試験
【平24秋】 次の a~d のうち、オブジェクト指向の基本概念として適切なものだけを全て挙げたものはどれか。a クラス b 継承 c データの正規化 d ホワイトボックステスト 。
▼ 基本情報技術者試験
【令7修7/令6修7/令4修6/令1修12/平30秋/平28修7/平25修12/平23修12/平22秋】 オブジェクト指向におけるクラスとインスタンスとの関係のうち,適切なものはどれか。
【令7修1】 (私の父:公務員)が “私の父は公務員である” というインスタンスとクラスの関係を表すとき,同じ関係となるものはどれか。
【令3修12/令2修1/平30修7】 オブジェクト指向言語のクラスに関する記述のうち,適切なものはどれか。
【令1修6/平29秋】 オブジェクト指向分析を用いてモデリングしたとき,クラスとオブジェクトの関係になる組みはどれか。
【平22春】 オブジェクト指向におけるクラス間の関係のうち,適切なものはどれか。

本ページを参照・引用している文書・論文など (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。