プログラミング

【基本】Javaのクラスとは?書き方や呼び出し方まとめ

シン

現役エンジニア兼ブロガー/大阪在住29歳/受託開発IT会社勤務/Javaプログラマー/ブログ収益月5桁/エンジニア・ブロガー向け情報を発信/HTML/CSS/JavaScript/Java/SQL

本記事の内容

  • Javaのクラスの概要
  • Javaのクラスの命名規則
  • Javaのクラスの呼び出し方

Javaを学習し始めたばかりの方は、「クラス?」「インスタンス?」といったように、専門用語が理解できないこともあるかと思います。本記事ではそのような方に向けて、Javaのクラスの基本についてわかりやすく解説していきますね。

僕自身は現役Javaエンジニアで、大阪の受託開発企業で開発をしていますので、情報の信ぴょう性はあるかと思います。

この記事をお読みいただくことで、「Javaのクラスとは何か」「Javaのクラスの書き方」について知ることができますよ。ぜひ最後までご覧ください。

Javaのクラスの概要

まずはJavaのクラスの全体像から解説していきます。

  • クラスとは
  • クラスの書き方
  • クラスの命名規則
  • フィールドとは
  • クラスとメソッドの違い

順番に見ていきましょう。

クラスとは

クラスとは、プログラムの設計図のようなものです。例えば何かものを作るときも設計図を書きますよね。身近にあるもので言えば、車やプラモデルなど。Javaも、クラスという名の設計図を書き、その中にいろいろな機能を付け加えていきます。といわれても、まだイメージがつきにくいですよね。ではクラスの書き方を次で解説します。

クラスの書き方

実際にJavaのクラスの書き方を見ていきましょう。結論、Javaのクラスは下記のように記述します。

修飾子 class クラス名 {
 処理・・・
}
public class Main {

}

Mainの部分がクラス名となります。

Javaのクラスの書き方は、基本的に上記の通りです。ただしクラスの付け方には命名規則があります。次で見ていきましょう。

Javaのクラス名の命名規則

先程Mainというクラス名を付けましたが、クラスの名前には命名規則があります。

それが下記の通り。

  • 1文字目は大文字
  • 数字から始めることはできない
  • 2文字目以降は小文字
  • 単語が変わるごとに1文字目は大文字
  • 同一パッケージで同じクラス名はつけられない
  • 記号はドルマーク($)かアンダーバー(_)はOK
  • 予約語はNG
  • 文字数は無制限

1文字目は大文字で2文字目以降は小文字なので「Main」であればOKですね。そして数字から始めることはできないので、たとえば「1Main」はNGです。

単語が変わるごとに2文字目は大文字なので、たとえば「MainJapan」といった感じで、「J」が大文字になります。

クラスの命名規則は、基本的に上記を覚えておけばOKです。

Javaのクラスのフィールドとは

フィールドとは、クラスの中に定義される、すべてのメソッドで使用することができる変数のことを言います。メンバ変数とも言われています。では実際のコードを見てみましょう。

フィールドの書き方の基本は下記の通り。

[アクセス修飾子] [データの型] 変数名;

クラスの中に記述してみましょう。

public class Test1 {
 public string str; //これがフィールド
}

上記の通りですね。クラス名の直下に記載していますが、こうすることでtest1のメソッド内でも、クラスで定義した変数を使うことができます。メソッド内に変数を書くと、そのメソッド内でのみ使用することができます。

Javaのクラスとメソッド違い

クラスとメソッドの違いは一体なんでしょうか?そもそもメソッドとは何かというと、処理をひとまとめにしたものです。たとえるなら「機能」というとわかりやすいかもしれません。

仮に「家」というクラスあったとすると、その家の中にある「テレビ」や「エアコン」といった家具家電がメソッドとなります。このようにクラスとメソッドは明確に違います。

では実際にメソッドを書いてみましょう。

戻り値型 メソッド名(引数) {
 処理
}
public class House {
 
 public static void tv() {
 }

}

「House」というクラスの中に、「tv」というのがあります。このtvがメソッドとなります。このように、家(クラス)の中に、どんどん家具家電(メソッド)を追加していくことで、作りたいものを実現していくことができます。

Javaのクラスの呼び出し方

Javaのクラスで別のクラスを呼び出す方法について解説していきます。

呼び出し方

Javaは、場合によっては別のクラスを呼び出したい時があります。別クラスを呼び出す方法は下記の通り。

class Test1 {
  public static void main(String[] args) {
    System.out.println("test1を実行");
    new Test2().test2(); //Test2クラスのtest2メソッドを呼び出す
    new Test3().test3(); //Test3クラスのtest3メソッドを呼び出す
  }
}

class Test2 {
  public void test2() {
   System.out.println("test2を実行");
  }
}

class Test3 {
  public void test3() {
   System.out.println("test3を実行");
  }
}

別のクラスを呼ぶときは、「new クラス名();」「new コンストラクタ名;」とすればOKです。さらに、別クラスのメソッドを呼ぶときは、「new クラス名().メソッド名();」とすれば良いです。書き方は他にもありますが、ここでは上記の通りに解説しました。

では実行してみましょう。

実行結果:

test1を実行
test2を実行
test3を実行

このように、Test1クラスから別クラスであるTest2クラスとTest3クラスを呼び出すことができました。

Javaのクラスのnew演算子とは

先程、別のクラスを呼び出す際に「new」がでてきましたが、なぜnewをする必要があるのでしょうか?newの役割は、クラスをインスタンス化(実体化)するために使います。

本記事の序盤でお伝えしたように、クラスとは設計図のようなものです。設計図のみではただの紙切れですよね。設計図をもとに家を作ったり車を作ったりしなければなりません。そこでnewをして設計図をもとに実体化するということです。

Javaのクラスのインポートとは

Javaは別のパッケージにあるクラスを呼び出す際には、import文を記述しなければなりません。import文の書き方は以下の通り。

import パッケージ名 クラス名

importを理解するには、パッケージを理解する必要があるので、簡単に説明しますね。パッケージとは、クラスを機能ごとにまとめる仕組みのことを言います。

たとえば、クラスは同じ名前を2つ以上つけることはできませんが、パッケージを分けることで、同じ名前をつけられるようになります。大規模な開発になると、同一のクラス名を使うことがあるため、パッケージを分けておけば良いということです。

ではパッケージはどう書くかというと以下の通り。

package フォルダ階層名;

フォルダの階層名のところには、クラス名の手前までの名前を記述します。仮にTest1クラスが「aフォルダ内のBフォルダ内のCフォルダ内」にあるとするならば、下記のように記載すればOkです。

package a.b.c;

class Test1 {
  public static void main(String[] args) {
    System.out.println("test1を実行");
  }
}

Test2クラスが「aフォルダ内のbフォルダ内のcフォルダ内のdフォルダ内」にある場合は以下の通り。

package a.b.c.d;

class Test2 {
  public void test2() {
   System.out.println("test2を実行");
  }
}

Test3クラスも同様に。

package a.b.c.d.e;

class Test3 {
  public void test3() {
   System.out.println("test3を実行");
  }
}

ではTest1クラス内でimport文を使って、Test2クラスとTest3クラスを呼んでみましょう。繰り返しですがimport文は以下のように書くのでしたね。

import パッケージ名 クラス名

ではTest2クラスとTest3クラスを呼んでみましょう。

package a.b.c;
import a.b.c.d.Test2;
import a.b.c.d.e.Test3;

class Test1 {
  public static void main(String[] args) {
    System.out.println("test1を実行");
    new Test2().test2();
    new Test3().test3();
  }
}
package a.b.c.d;

class Test2 {
  public void test2() {
   System.out.println("test2を実行");
  }
}
package a.b.c.d.e;

class Test3 {
  public void test3() {
   System.out.println("test3を実行");
  }
}

上記の通り。import文は開発環境によっては、別のクラスを記述した際に自動的に入力される場合もありますが、書き方は覚えておきましょう。あと同じパッケージ内にあるクラスは、import文は不要です。

Javaのクラス:まとめ

Javaのクラスの基本について解説してきました。本記事で解説したクラスの基本を押さえておけば、実務のプログラミングでも必ず役立ちますので、ぜひ繰り返し読んで覚えてみてくださいね。

では今回は以上です。

  • この記事を書いた人

シン

現役エンジニア兼ブロガー/大阪在住29歳/受託開発IT会社勤務/Javaプログラマー/ブログ収益月5桁/エンジニア・ブロガー向け情報を発信/HTML/CSS/JavaScript/Java/SQL

-プログラミング