クラスとは

広告

オブジェクト指向では、現実にあるモノをプログラムの中で表現していきます。そのため、まず対象となるモノがどのようなデータを持ち、どのような処理を行うのかを定義する必要があります。このときに使用するのがクラスです。クラスとはオブジェクトを作成するための設計図のようなものです。Java のプログラムは基本的にクラスを中心に作成されます。ここではオブジェクト指向におけるクラスとはどのようなものかを解説します。

クラスとは

どのようなオブジェクトを作成するのかを定義したものをクラスといいます。クラスはオブジェクトの設計図のようなもので、オブジェクトがどのようなデータを持ち、どのような操作を行うのかを定義します。

例えば自動車というオブジェクトを作成する場合、自動車がどのようなものなのかをクラスで定義します。クラスには自働車に関する色や重量、名前、値段といったデータや、走ったり止まったりする動作を定義します。

自働車
 ・色、値段、名前などのデータ
 ・走る、止まる、ライトをつける、などの操作

クラスはあくまで設計図なので、実際に利用するためにはクラスからオブジェクトを作成する必要があります。

クラスの例

それではクラスが実際にどのようなものなのかを見てみましょう。次の例は自動車を表すクラスです。

class Car {
  String name;
  double price;

  void showPrice() {
    System.out.println(price);
  }

  String getName() {
    return name;
  }
}

このクラスでは、データとして name や price を持ち、操作として showPrice() や getName() といったメソッドが定義されています。

クラスとオブジェクトの違い

ここでクラスとオブジェクトの違いについて、もう一度確認しておきましょう。クラスはあるモノを作成するための設計図であり、そのモノにはどのようなデータがあり、そのデータを扱う操作としてどのようなものがあるのかを定義しています。

そしてそのクラスを元に作成されるのがオブジェクトです。クラスという設計図をもとに、必要な数のオブジェクトを作成します。下記の例では Car クラスという設計図を元に 2 つのオブジェクトを作成しています。

public class Sample {
  public static void main(String[] args) {
    Car myCar = new Car();

    myCar.name = "アクエリアス";
    myCar.price = 3200;
    myCar.showPrice();

    Car friendsCar = new Car();
    friendsCar.name = "ヴィーナス";
    friendsCar.price = 4100;
    System.out.print("車種名: " + friendsCar.getName());
  }
}

class Car {
  String name;
  double price;

  void showPrice() {
    System.out.println(price);
  }

  String getName() {
    return name;
  }
}

クラスとオブジェクトの違い(1)

クラスは設計図であり、クラスを元に作成される実体がオブジェクトであるという点を覚えておいてください。

-- --

手続き型プログラミングとオブジェクト指向プログラミングの違いについて解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。