【Javaプログラム入門】初心者向けに「クラス」をわかりやすく解説!

本記事では「クラス」を解説していきます。

クラスも非常に大事なので、しっかりと学習しましょう。

と言っても、最初は何となくクラスってこういうものなんだという理解でよいと思います。

まずは、クラスの作り方と使い方の2つを覚えて、慣れたら深い知識に触れていきましょう。

以下、クラスの学習ポイントです。

クラスの学習ポイント
  • クラス名
  • フィールド
  • メソッド
  • クラス宣言
  • インスタンス生成

それでは、クラスについて解説していきます。

目次

クラスとは? 製品の設計図のこと!

クラスのイメージ

まず最初にクラスがどのようなものかと言うイメージから掴んでいきましょう。

クラスは、製品の 設計図 とイメージすると理解しやすいと思います。

家電などの製品を作るときは、製品の設計図があって、設計図に沿って組み立てていくと製品が完成します。

プログラミングに当てはめると、以下のような関係になります。

  設計図 ⇒ クラス
  製品  ⇒ インスタンス

プログラムでは、クラス(設計図)から作成して実体化させた物(製品)を、インスタンスと言います。

世の中の家電が、設計図の状態では使えないように、プログラムでも、クラスという設計図の状態では使えず、インスタンスという製品を作成しないとクラスを使うことができません

クラス名、フィールド、メソッド

クラスは、設計図のことだと説明しました。

次は、設計図に書かれていることを考えていきます。
設計図に書いてある内容がクラスの内容になります。

設計図には、何が書かれているでしょうか?

炊飯器を例にして考えてみましょう。

炊飯器の設計図には、① 設計図の名前、② 炊飯器の情報、③ 炊飯器の機能 と言った内容が書かれています。

設計図に書いてあること

① 設計図の名前 … 炊飯器設計図
② 炊飯器の情報 … 製品番号、保温の温度、中に入れる物(米、水)
③ 炊飯器の機能 … ごはんを炊く、保温する

この設計図に書かれてある内容を、プログラミングのクラスに当てはめると、以下のような関係になります。

① 設計図の名前 ⇒ クラス名
② 炊飯器の情報 ⇒ フィールド
③ 炊飯器の機能 ⇒ メソッド

クラスは、設計図の名前=クラス名、製品の情報=フィールド、製品の機能=メソッドから構成されています。

炊飯器クラスの構成は、以下のような感じになりますね。

//クラス名 1.設計図の名前
炊飯器クラス

  // フィールド 2.製品の情報
 製品番号
 温度
 材料

  // メソッド 3.製品の機能
 ごはんを炊く
 保温する

ここまで、クラスがどのようなものか解説してきました。

内容をまとめておきましょう。

クラスは製品を作るための設計図です。
クラスを使うためには、製品に該当するインスタンスを生成する必要があります。
クラスは、クラス名(設計図の名前)、フィールド(製品の情報)、メソッド(製品の機能)から構成されています。

クラスの構成要素
  • クラス名  … ① 設計図の名前
  • フィールド … ② 製品の情報
  • メソッド  … ③ 製品の機能

クラスのプログラム構文

クラスのプログラム構文を解説していきます。

解説するプログラム構文は、以下になります。

クラスのプログラム構文
  • クラス宣言
  • インスタンス生成

クラス宣言 … 設計図を書く

クラス宣言のプログラム構文

クラス宣言のプログラム構文を解説します。

炊飯器を例にクラス宣言のプログラムを見てみましょう。

サンプルプログラム

//-------------------------
// クラス名 1.設計図の名前
//-------------------------
public class RiceCooker {

  //-------------------------
  // フィールド 2.製品の情報
  //-------------------------
  /** 製品番号 */
  public String productNo = "";

  /** 保温の温度 */
  public int temperature = 0;

  /** 材料 */
  public List<String> materialList = new ArrayList<String>();

  //-------------------------
  // メソッド 3.製品の機能
  //-------------------------
  /**
   * ごはんを炊く
   */
  public void CookingRice(){
    System.out.println("ごはんが炊けました。");
  }
  
  /**
   * 保温する
   */
  public void KeepWarm(){
    System.out.println("保温します。");
  }
}

【サンプルプログラムの解説】

public class RiceCooker {
}

class という予約語(キーワード)の後に、クラス名 RiceCooker を記述します。
クラス名はわかりやすい自由な名前をつけてOKです。
今回は炊飯器クラスを作るので、RiceCooker というクラス名にしました。
※予約語とは、もともとJavaが用意している用途が決められた単語のことです。

クラスの範囲を指定するために、{ } を記述します。
この { } の中に、クラスの構成要素であるフィールドメソッドを記述していきます。

/** 製品番号 */
public String productNo = "";

/** 保温の温度 */
public int temperature = 0;

/** 材料 */
public List<String> materialList = new ArrayList<String>();

フィールドには、クラスが持つ情報を変数で記述します。
炊飯器クラスの情報は、製品番号、温度、材料の3つがあるので、それぞれを変数で宣言します。

/**
  * ごはんを炊く
  */
public void CookingRice(){
  System.out.println("ごはんが炊けました。");
}

/**
  * 保温する
  */
public void KeepWarm(){
  System.out.println("保温します。");
}

メソッドには、クラスが持つ機能を関数で記述します。
炊飯器クラスの機能は、ごはんを炊く、保温する機能の2つがあるので、それぞれを関数で宣言します。

※変数と関数について、以下の記事で詳しく解説しています。ぜひご覧ください。

インスタンス生成 … 設計図から実体(製品)を生成する

クラスのインスタンス生成方法

クラスは設計図なので、製品に該当するインスタンスを生成しないと使用できませんでしたね。

ここでは、クラスのインスタンス生成のプログラム構文を解説します。

クラス宣言で解説した炊飯器クラスのインスタンスを生成してみましょう。

サンプルプログラム

// インスタンス生成
RiceCooker cooker = new RiceCooker();

【サンプルプログラムの解説】

RiceCooker cooker = new RiceCooker();

このプログラムは、炊飯器クラスのインスタンスを生成して、炊飯器クラス型の変数に代入しています。

new RiceCooker();」炊飯器クラスのインスタンスが生成されます。

RiceCooker cooker = 」でインスタンスを炊飯器クラス型(RiceCooker)の変数(cooker)に代入しています。

クラスは、生成したインスタンスを変数に代入して扱うのが一般的です。
クラスのインスタンスを生成して、変数に代入する方法を覚えておきましょう!

インスタンスの使い方 … クラスのフィールド、メソッドを扱う

フィールド、メソッドの使い方

最後に、クラスの フィールドメソッド の使い方を解説します。

炊飯器クラスを例に使い方を説明していきます。

サンプルプログラム

// インスタンス生成
RiceCooker cooker = new RiceCooker();

//------------------------
// フィールドの使い方
//------------------------
// 製品番号に代入
cooker.productNo = "R001";

// 製品番号を読み取って出力する
System.out.println(cooker.productNo);

// 炊飯器に材料を入れる
cooker.materialList.add("ブランド米");
cooker.materialList.add("天然水");

//------------------------
// メソッドの使い方
//------------------------
// ごはんを炊く機能を実行する
cooker.CookingRice();

【サンプルプログラムの解説】

// 製品番号に代入
cooker.productNo = "R001";

// 製品番号を読み取って出力する
System.out.println(cooker.productNo);

cooker変数には、炊飯器クラスのインスタンスが代入されています。
※cooker変数が炊飯器クラスのインスタンスと考えます

フィールドにデータを代入する場合は、「インスタンス.フィールド名 = データ と記述します。
cooker.productNo = “R001”;」

フィールドのデータを参照する場合は、「インスタンス.フィールド名 と記述します。
cooker.productNo」

System.out.println(cooker.productNo); を実行すると、productNoフィールドの値を参照してコンソールに出力するため、実行結果は以下のようになります。
※System.out.println関数は、引数のデータをコンソール出力する機能です。

R001
// 炊飯器に材料を入れる
cooker.materialList.add("ブランド米");
cooker.materialList.add("天然水");

こちらは、materialListフィールドにデータを代入(追加)するサンプルです。
materialListはリスト型の変数です。

フィールドであっても、変数の時と同じように、リストに要素を追加すればOKです。

※リストついて、以下の記事で詳しく解説しています。ぜひご覧ください。

// ごはんを炊く機能を実行する
cooker.CookingRice();

クラスのメソッドを実行する場合は、「インスタンス.メソッド名() と記述します。
※メソッドに引数がある場合は、()の中に引数に渡すデータを記述する
cooker.CookingRice();」

炊飯器クラスのCookingRiceメソッドが、以下のように宣言されていた場合、

public void CookingRice(){
  System.out.println("ごはんが炊けました。");
}

実行結果は、以下のようになります。

ごはんが炊けました。

以上でクラスのプログラム構文の解説は終了です。

クラス宣言インスタンスの生成フィールドやメソッドを使用する方法は理解できたでしょうか?

ゆっくりで良いので、クラスを確実にマスターしていきましょう!

まとめ

本記事では、クラスについて解説してきました。

今回の内容をまとめると、

クラスは製品を作るための設計図のこと
・設計図には、設計図の名前、製品の情報、製品の機能が書かれている
  設計図の名前 ⇒ クラス名
  製品の情報  ⇒ フィールド
  製品の機能  ⇒ メソッド
・クラスを使うためには、インスタンスを生成する必要がある
・クラスのフィールドを使用する方法は、インスタンス.フィールド名 と記述する
・クラスのメソッドを使用する方法は、インスタンス.メソッド名 と記述する

となります。

クラスは、プログラマーによってどんなクラスを作るかが大きく異なります。
何をクラスにするのか、クラスに持たせる情報は何か、クラスにどんな機能を作るか など個性が出ますね。

プログラムでいきなりクラスを考えるのは難しいので、普段から身近な物をクラスにして練習しておきましょう。
人間、犬、車、冷蔵庫、学校とか、考えてみると面白いかもしれません笑


次のステップ

学習した基礎知識を使ってJavaアプリケーションを作ってみたい方は、以下の記事の演習にぜひチャレンジしてみてください!※きっとよい勉強になります


効率よく最速で学習したい方、転職を強く目指している方は、プログラミングスクールの利用も有効です!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

SE歴16年。
システム開発会社で開発部長をしています。

【主な仕事内容】
 ・Webシステム開発
 ・新入社員育成
 ・社員採用

IT業界が好きで、プログラミングが好きです。
社内の新入社員育成に情熱を注いでいます。

コメント

コメントする

CAPTCHA


目次
閉じる