0
0

More than 3 years have passed since last update.

Java学習 基礎編 クラスとインスタンスとは?

Last updated at Posted at 2021-03-25

Java学習の備忘録になります。
内容は初心者なので基礎的な部分となります。
Javaに興味がある方やJava学習初心者の参考になれば幸いです。


クラスとは?

クラスは、インスタンスを作るための設計図である。

インスタンスは、情報と振る舞いを持っており、
この情報と振る舞いを設計図であるクラスに定義する。

人間を例にすると、
情報にあたるのが、「名前」、「年齢」であり、
振る舞いにあたるのが、「あいさつする」、「歩く」などである。

クラスの定義

プログラムの一番外側に記述されているもので、クラスの中には具体的に何をさせたいのかを、メソッドの形で記述していく。

Main.java
class クラス名{

}

インスタンスとは?

インスタンスは、クラスから作られた実体である。

インスタンスは実体という意味。
オブジェクトの別名がインスタンスなのは、設計図から実際に生み出された実体であるため。

インスタンスの生成

インスタンスは変数に代入して使用する。

【定義方法】
クラス名 変数名 = new クラス名(引数);


インスタンスの情報と振る舞い

インスタンスの情報にあたるものを、インスタンスフィールドと呼び、振る舞いにあたるものを、インスタンスメソッドと呼ぶ。

インスタンスフィールド

インスタンスにどのような情報を持たせたいかを考え、それをクラスに定義する。

インスタンスフィールドは、情報を格納しておく変数にすぎない。
その変数は、クラスの一番上に記述する。

インスタンスフィールドは、各インスタンスに属する。
インスタンスを生成するときに、各インスタンスにフィールドがコピーされるというイメージ。

【定義方法】
public データ型 変数名

Person.java

class Person {
  public String name; // 名前を入れる変数を定義
}

インスタンスフィールドへのアクセス

インスタンスへのアクセスには、 ドット( . )を用いる。

【定義方法】
インスタンス名.フィールド名

また、下記のように値の取得とセット(代入)が可能となる。

Main.java

Person.person1 = new Person(); // インスタンスの生成
person1.name = "Tanaka"; // nameに値をセット

System.out.println(person1.name); // nameの値を取得

インスタンスメソッドの定義

インスタンスの振る舞いは、プログラム上では、メソッドで表現する。
これをインスタンスメソッドと呼ぶ。

【定義方法】
public 戻り値の型 メソッド名()

Person.java

class Person {
  public void hello() {
    System.out.println("こんにちは");
  }
}

インスタンスメソッドの呼び出し

インスタンスメソッドは、クラスに属しても、実際は各インスタンスに属するイメージ。
それゆえインスタンスメソッドは、インスタンス(を代入した変数)に対して呼び出す。
その際は、ドット( . )を用いる。

【定義方法】
インスタンス名.メソッド名()

Main.java

Person.person1 = new Person(); // インスタンスの生成

person1.hello(); // インスタンスメソッドの呼び出し


おわりに

今回は、基本的な定義方法をメインに記載してます。長くなりそうなので実際の使用方法やコンストラクタのなどは次回へ。
なお、ご指摘などございましたら、遠慮なくお願いいたします!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0