catch-img

Javaのオブジェクトの概念を学ぼう。クラスや型などの要点解説

Javaは「オブジェクト指向」のプログラミング言語です。Javaを学んでいくためには、「オブジェクトとは何か」を理解することが求められます。オブジェクトの概要をはじめ、クラス・型といったオブジェクトの要点について学んでいきましょう。

目次[非表示]

  1. 1.Javaにおけるオブジェクトとは
    1. 1.1.オブジェクト指向とOOPの基本的な考え方
    2. 1.2.クラス(設計図)を実体化させたのがインスタンス
    3. 1.3.オブジェクト指向のメリット
  2. 2.Javaでオブジェクトを生成する時のポイント
    1. 2.1.Javaでメソッドを定義する時の形式
    2. 2.2.コンストラクタの役割
    3. 2.3.その他の関連用語も理解しておこう
  3. 3.Javaのオブジェクトの概念を学び練習しよう


Javaにおけるオブジェクトとは

Javaはオブジェクト指向のプログラム(OTP)の代表格です。Javaを理解する上では、オブジェクトについてしっかり把握しておく必要があります。

オブジェクトはプログラミング言語によって多少の定義が異なります。Javaの場合はどのような意味を持つのかを、まずは理解しましょう。

オブジェクト指向とOOPの基本的な考え方

オブジェクト指向(OTP)とはプログラムを作成する手順を「オブジェクオ(モノ)」として考えようという概念を意味します。

例えば、家を設計することを考えてみましょう。家の中にはキッチンや寝室、お風呂やトイレなどといった設備は共通です。

家を2軒作ることを考えてみます。オブジェクト指向では、「家というモノ」が用意されているため、上記のような設備はすでに前提として組み込まれているのです。しかし、非オブジェクト指向の場合、家1軒ごとに最初から、常用設備について設計します。

家2軒なら良いですが、さらに数を増やしたり、2階建てや地下ありの家を作るとき、オブジェクトがないと非常に手間が掛かります。違う建築士に頼んだら、まったく違う家が出来上がってしまうかもしれません。

オブジェクト指向とは「モノの機能や性質」を、共通して使うための概念と覚えておきましょう。

クラス(設計図)を実体化させたのがインスタンス

プログラムを家の建築で例えると、設計図にあたるのが「クラス」です。ですが、設計図だけあっても家は建てたことにはなりません。

設計図を実体化させたものがインスタンスです。インスタンスになって、はじめて「家」が目の前に現れます。

クラスやインスタンスにはいくつかのルールや書き方がありますが、ひとまずはクラスは設計図、インスタンスはそれを実体化させたものだと覚えておきましょう。

オブジェクト指向のメリット

先述したとおり、オブジェクト指向のメリットとして挙げられるのは、「共通のモノを使い回せる」という点です。「家」や「車」などのモノを1度定義してしまえば、作業者が変わっても同じモノの概念を使い回すことができます。

これは、多人数が関わる大規模なプロジェクトなどでは大きなメリットです。Javaは、そのために大人数のプロジェクトでよく利用される傾向にあります。

また、プログラムの細部までパーツ化されているのもオブジェクト指向であり、メリットと言えるでしょう。動作がおかしい場合やエラーが発生した場合、箇所をすぐに特定することができます。

Javaでオブジェクトを生成する時のポイント

オブジェクトを生成するにあたって、守らなければならないルールがあります。Javaで生成する際の書き方やポイントを見ていきましょう。

Javaでメソッドを定義する時の形式

Javaでオブジェクトを作成するにあたっては、変数と型の名前を定義する「宣言」を行います。このときに定義するのが「クラス」「プロパティ」「メソッド」の要素です。 メソッドとは、オブジェクトがアクションを起こす際の処理のことで、「バイク」というオブジェクトがあるとすれば「走る」「ブレーキをかける」「クラクションを鳴らす」といった機能がメソッドにあたります。 メソッドを定義する形式は、次のように記述します。

アクセス修飾子 戻り値の型 メソッド名{ 
// メソッドの内容 
return 戻り値; 
}

コンストラクタの役割

コンストラクタとは、インスタンスを生成する際に、自動で実行されるメソッドのことです。クラスを構成するメンバ変数を初期化するために用いられます。これにより、初期化されていないオブジェクトの出現を防いでいるのです。 コンストラクタは、以下のように記述します。

public class クラス名 { 
 // コンストラクタ 
 public クラス名() { 
  // 処理を記述 
 } 
}

また、コンストラクタはメソッドと同じく引数を指定することも可能です。その際、new演算子でコンストラクタ生成を行う際に、引数を指定しなければなりません。

その他の関連用語も理解しておこう

オブジェクト化にちなんだ関連用語についても、理解を深めましょう。

  • カプセル化:オブジェクトが持つデータや処理絵、別のオブジェクトから利用されないものを切り離すこと。オブジェクトを作る場合、カプセル化することは頻繁に行う。
  • 継承:特定のオブジェクトのクラスやフィールドなどを別のオブジェクトに引き継ぐこと
  • ポリモーフィズム:同一のメソッドを使い、異なる処理を実行すること

これらは、オブジェクトの学習を進めて行く上でよく出てくる言葉ですので、覚えておくと良いでしょう。

Javaのオブジェクトの概念を学び練習しよう

Javaのオブジェクトは、クラスやメソッドを含んだ「モノ」と捉えておきましょう。オブジェクト指向は、同じオブジェクトを用いることでコーディングを効率化したり、問題があってもすぐに問題箇所を発見できるため、大人数でのコーディングに向いています。 オブジェクトを作成するために、カプセル化や継承などの用語も押さえておきましょう。オブジェクトについての理解は、Javaを使いこなすための第一歩です。



資料請求はこちらから