プログラミング言語

【Java入門⑦】クラス ~初心者でも安心!基礎から学べるプログラミング講座~

プログラミング言語

※前回の講座がまだの人はこちらから
【Java入門⑥】配列 ~初心者でも安心!基礎から学べるプログラミング講座~

クラスとは

何かしら物を作る時、何も見ずにいきなり作り始めることはないと思います。作る前に、まずは物の設計図を作成すると思います。
クラスとは、その設計図の様な役割を持っていて、処理やデータを組み合わせた構造のことです。
クラスを使うことで、物の大量生産や、部分的に違う機能を持つ物の作成が容易になります。

プログラムにおいて、クラス自体は実体を持たず、インスタンス化という手順を踏むことで、物の作成が可能になります。

クラスの作成

Javaにおいて、クラスは以下の形で作成可能です。

public class クラス名{
  アクセス修飾子 型 メンバ変数名;
}

任意のクラス名を指定し、クラス内で使いたい変数を宣言できます。
クラス内で使う変数のことをメンバ変数と言います。
メンバ変数には、型に加えて、アクセス修飾子を付けます。
アクセス修飾子とは、メンバ変数がどこからアクセス出来るかを限定する為の物です。
※アクセス修飾子に関しては、以下の記事で解説しています。
【Java入門⑧】カプセル化 ~初心者でも安心!基礎から学べるプログラミング講座~

車を作るためにCarクラスを作成してみます。
車のモデル名や燃料を保存するために、それぞれメンバ変数を用意します。

<使用例>

public class Car {
  //モデルを表すメンバ変数model
  public String model;
  //車高を表すメンバ変数height
  public int height;
  //車幅を表すメンバ変数width
  public int width;
  //燃料を表すメンバ変数fuel
  public int fuel;
}

※publicがアクセス修飾子の一つです。

インスタンスの作成

クラスを作成しただけでは、設計図を作っただけなので意味がありません。実際にクラスを使って、物を作ってみます。
冒頭で少し触れた、インスタンス化を行うことで、実体を作ることができます。

クラス名 インスタンス変数名 = new クラス名();

今までの変数の宣言と似た感じだと思ってください。
型を指定していた部分にクラス名を指定するイメージです。

Car car1 = new Car();

インスタンス化したら、メンバ変数を使用してみます。
今までの変数と同じで、メンバ変数に値を代入したり、値を参照できます。
しかし、書き方が少し違い、インスタンス変数をつける必要があります。

インスタンス変数.メンバ変数名

car1.model = "car model";
System.out.println(car1.model);

car1というインスタンスの、modelというメンバ変数に、「car model」という文字列を代入し、表示させました。

<使用例>

public class CarApp {
  public static void main(String[] args) {
    Car car1 = new Car();
    Car car2 = new Car();

    car1.model = "車1号";
    car1.height = 1400;
    car1.width = 1600;
    car1.fuel = 90;

    car2.model = "車2号";
    car2.height = 1900;
    car2.width = 1800;
    car2.fuel = 100;

    System.out.println("*" + car1.model + "の詳細*");
    System.out.println("モデル名:" + car1.model);
    System.out.println("車高  :" + car1.height);
    System.out.println("車幅  :" + car1.width);
    System.out.println("燃料容量:" + car1.fuel);

    System.out.println("*" + car2.model + "の詳細*");
    System.out.println("モデル名:" + car2.model);
    System.out.println("車高  :" + car2.height);
    System.out.println("車幅  :" + car2.width);
    System.out.println("燃料容量:" + car2.fuel);
  }
}

※コンパイル・実行するときはCarAppを指定します。

まとめ

クラスは非常に重要な部分になります。
大きなシステムになればなるほど、様々なクラスを作成し、色々な箇所で使用しています。
まずは、Carクラスの様に簡単なクラスを作成し、慣れることから始めてみてください。

次回講座:カプセル化
【Java入門⑧】カプセル化 ~初心者でも安心!基礎から学べるプログラミング講座~

タイトルとURLをコピーしました