catch-img

Javaにおけるクラスとは。用語の意味や書き方を初心者向けに紹介

Javaの学習において、オブジェクト指向を学び始めるとクラスの役割についても使い分ける必要が出てきます。クラスの意味や書き方について、初心者向けに解説します。クラスについて、理解を深めていきましょう。

目次[非表示]

  1. 1.javaのクラスの意味をイメージしよう
    1. 1.1.初心者がつまづきやすいクラス
    2. 1.2.設計図に例えられることが多い
  2. 2.クラスには何が書かれているのか
    1. 2.1.フィールドと呼ばれるメンバ変数
    2. 2.2.同じ処理を使うときに便利なメソッド
  3. 3.クラスを知るために理解したい用語
    1. 3.1.クラスを実体化 インスタンス
    2. 3.2.アクセスを制御 アクセス修飾子
  4. 4.クラスの書き方
      1. 4.0.1.Javaの命名規則
    1. 4.1.クラス名は誰が見ても分かるようにする
    2. 4.2.内部クラスや継承で手間を減らせる
  5. 5.クラスファイルの作成と実行
    1. 5.1.1クラスごとに1ファイル作成される
    2. 5.2.実行するには
  6. 6.クラスはJavaの設計図


javaのクラスの意味をイメージしよう

Javaを記述する際に「class」という言葉を使います。Javaを始めて最初の頃はあまり気にならないかもしれませんが、オブジェクト指向について学ぶ段階になると、クラスの役割についても知らなければなりません。

クラスは初心者が特につまずきやすい箇所になります。まずは、クラスについて正しいイメージを持っておきましょう。

初心者がつまづきやすいクラス

クラスとは簡単に言えば「これからプログラム処理を開始します」と宣言することです。どんなプログラムを開始するのか、その種類を宣言するためにクラスを用います。

例えば「main」というクラスは、Javaを実行する際に、最初に実行するオブジェクトという意味です。

クラスにはいくつかの種類があり、それぞれに使い方や機能が異なります。

設計図に例えられることが多い

Javaのクラスは設計図によく例えられます。例えば、家であれば「人が住む」、車であれば「人を乗せて走る」ことをコンセプトに、設計図が作られます。

Javaのクラスも同様です。「Javaに何をさせるのか」を、クラスの中に記述していきます。

class (クラス名){ 処理内容 }

このように記述するのが、Javaのクラスの基本になります。

クラスには何が書かれているのか

クラスにはどんなことを記述するのかを、具体的に見ていきましょう。主に「フィールド」と「メソッド」の二つを定義することになります。それぞれの役割について解説します。

フィールドと呼ばれるメンバ変数

メンバ変数は、オブジェクトが持つパラメーターを定義したもののことです。

パソコンで例えてみましょう。パソコンはメモリや容量、OSなどの情報を持ってます。これがフィールドであり、メンバ変数と呼ばれるものです。メンバ変数を宣言することにより、そのオブジェクトがどんな属性を持っているのかを定義できます。

intやdoubleなどのデータ型の種類やクラス型、配列型などの変数を宣言することも可能です。

同じ処理を使うときに便利なメソッド

メソッドは、オブジェクトに関する操作の定義です。パソコンに例えて、メモリや容量がフィールドであるなら、メソッドとは「インターネットに接続する」「音楽ソフトを起動する」といった実装できる操作がメソッドになります。

例えばインターネットを使って買い物をする際、商品1個1個に配達日や支払い方法、住所やカード番号を登録していたら大変です。これらを全てまとめて一つのメソッドとすることで、「インターネットで買い物をする」というプロセスが楽になります。

メソッドとは、こうした特定の処理をひとまとまりにするためのプログラムと覚えておきましょう。

クラスを知るために理解したい用語

クラスについて理解するためには、「インスタンス」「アクセス修飾子」についても同時に理解する必要があります。それぞれの意味について解説します。

クラスを実体化 インスタンス

ここまで説明した通り、クラスとは設計図のことです。しかし、設計図だけではプログラムは動くことはありません。

インスタンスとは、クラスを実体化したものにあたります。

家が欲しいのに、家の設計図を渡されても意味がありません。オブジェクトを利用するにあたって、クラスの定義を決めるだけではなく、インスタンス化(あるいはオブジェクト化)を行う必要があります。

アクセスを制御 アクセス修飾子

プログラム内で別のプログラムを呼び出す場合に、外部のプログラムによって内部のプログラムを書き換えたりしないように制限をかける必要も出てきます。そうした場合に、アクセスの制限をかけるものが「アクセス修飾子」です。

  • public
  • protected
  • 指定なし(デフォルト)
  • private

アクセス修飾子には、上記4種類があります。アクセスできる範囲は、種類によって異なりますので、どのアクセス修飾子を使うかは、都度確認しましょう。

クラスの書き方

クラスの書き方について学んでいきましょう。書き方のルールや、どのように記載したら良いかを解説します。 前提として、Javaには命名規則があるので、以下の規則については守るようにしましょう。

Javaの命名規則

  • すべてのUnicode文字列を使用可能。
  • 先頭文字に数字は使用不可
  • 文字数に上限はない
  • 予約語は使用不可

クラス名は誰が見ても分かるようにする

クラスには、以下のような命名規則があります。

  • 1文字目は大文字
  • それ以外は小文字だが単語を区切る場合は大文字

この規則と上記に書いたJavaの命名規則を守った上でなら、クラス名は自由に設定することができます。ただし、仮に他人がコードを見たとしても、何について記述したクラスなのか分かることが重要です。

コードは、他のエンジニアが引き継ぐ可能性も考慮に入れなければなりません。例えば、メンバーアドレスについて扱うクラスを「MA」とした場合、自分は分かっても、他のメンバーにとっては何の略か分からず、調べる必要が出てきます。

クラス名は誰が見ても分かるように設定しましょう。

内部クラスや継承で手間を減らせる

クラスの中でも、さらに定義したものを「内部クラス(インナークラス)」と呼びます。内部クラスでは、アクセスレベルの付与や同じクラス内のフィールド・メソッドを参照することが可能です。新しくクラスを作るよりも手間を減らすことができます。

また、別の場所で使っているクラスの中身を、クラスを変えるたびに宣言し直すのは手間と時間がかかります。こうした場合は、元のクラスから別のクラスへ中身を引き継ぐことができる「継承クラス」を使うと便利です。

クラスファイルの作成と実行

クラスファイルの作成と実行(コンパイル)について学んでいきましょう。

1クラスごとに1ファイル作成される

Javaでは、一つのファイルに一つのクラスを記述した上で、ファイル名は「クラス名.java」にするというルールがあります。

ファイル名と異なるクラスを使う場合、特に同一パッケージ内では同名のクラスがあると名前の衝突が起こる可能性があるので注意しましょう。

実行するには

Javaに限らず、多くのプログラム言語は、コードの段階では「人間には分かる言葉で記載されているものの、コンピュータにとっては分からない言葉」になっています。

このコードを「コンピュータでも分かる言葉」に翻訳する作業を、「コンパイル」と言います。

Javaは、コンパイルが必要なプログラム言語であり、コードを記述しただけではコンピュータが実行してくれません。

Javaで書いたコードを実行するには、

  1. Javaのコードを記述する
  2. 記述したコードを、「Javac Javaファイル名」でコンパイルする
  3. 「Java クラスファイル名」で実行する

という、3つの手順をこなす必要があります。

クラスはJavaの設計図

Javaのクラスとは、設計図です。初心者のうちは「メイン」のクラスだけで十分かもしれませんが、オブジェクト指向へと進むと、クラスについても十分に理解しなければ、Javaのコードを書くのが難しくなってきます。

クラスに何が書かれているか、またクラスと関連性の深いインスタンスとアクセス修飾子についても、理解を深めておきましょう。書いたコードを実行するためにも、クラスについてある程度知っておくことが求められます。



資料請求はこちらから