×
データ構造とアルゴリズム

クラスは、単なる設計図以上の役割を果たします。クラスを定義するということは、プログラムの中に新しい独自の「データ型」を作り出すことを意味します。例えば、整数を扱うint型や文字を扱うString型と同じように、開発者が「Car」という新しい型を定義し、その型を持つ変数を宣言できるようになります。クラスの中には、オブジェクトごとに異なる値を持つデータ(インスタンス変数)だけでなく、そのクラスから作られたすべてのオブジェクトで共有される共通のデータ(クラス変数や静的変数)を持たせることも可能です。また、インスタンスを生成する際に自動的に呼び出され、初期設定を行う特別なメソッドを「コンストラクタ」と呼びます。オブジェクト指向においては、システム全体をどのようなクラスの集まりとして設計し、それらのクラスがどのように連携していくかを考えること(オブジェクト指向設計)が最も重要な作業となります。

試験でのポイント

基本情報技術者試験などのIT試験では、「クラス」と「インスタンス(オブジェクト)」の関係性が非常によく問われます。試験問題では、「クラスは概念や設計図であり、インスタンスはそれを実体化したものである」という前提知識を持っているかを確かめる内容が頻出します。また、関連技術としてUML(統一モデリング言語)の「クラス図」を読み取る問題が重要です。クラス図では、四角形を3つの区画に分け、一番上に「クラス名」、真ん中に「属性(プロパティ)」、一番下に「操作(メソッド)」を記述します。各属性や操作の前に付いている「+(公開)」や「-(非公開・隠蔽)」の記号の意味(アクセス修飾子)も問われることがあるため、カプセル化の概念と合わせて確実に覚えておく必要があります。

関連する用語

インスタンス、メソッド、オブジェクト指向、コンストラクタ