オーダーメイドコース
icon
icon

Javaのクラス宣言について現役エンジニアが解説【初心者向け】

初心者向けにJavaのクラス宣言について解説しています。クラスにはトップレベルクラス、ネストしたクラス、内部クラス、ローカル内部クラス、匿名クラスといった種類があります。それぞれの違い、クラスの宣言方法について覚えましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Javaのクラス宣言について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

クラス宣言について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

クラスとは

クラスとはJavaのプログラムの一番外枠に記述されているものです。クラスの中にはメンバ変数やメソッドを定義することができます。

クラスは例えるなら設計図のような意味合いがあり、具体的にこのクラスでは何をするのかをメソッドに記述していきます。

 

[PR] 未経験からWebエンジニアを目指す方法とは

クラスの種類

クラスには以下のような種類があります

トップレベルクラス

通常のクラスのことです。トップレベルクラスのクラス名とJavaのファイル名は一致させる必要があります

 

ネストしたクラス

ネストしたクラスとはトップレベルクラスの中にstaticキーワードを付けたクラスを定義している状態のことです。

 

内部クラス

ネストしたクラスと形は似ていますがトップレベルクラスの中にstaticキーワードを付けていないクラスを定義している状態のことです。

 

ローカル内部クラス

ローカル内部クラスはメソッドやコンストラクタ内に定義するクラスのことです。ローカル内部クラスは定義したメソッドやコンストラクタ内でしか使うことができません。

 

匿名クラス

匿名クラスはクラス名を付けずにインスタンスを作る際にその場で実装を記述するクラスのことです。主にインターフェースや抽象クラスで使用します。

 

クラスの宣言方法

クラウの宣言方法は以下のように記述します。

アクセス修飾子 class クラス名 {
}

宣言したクラスの中にはメンバ変数やメソッドを定義することができます。

 

実際に書いてみよう

ではJavaのクラス宣言を実際に記述してみましょう

ソースコード

public class SampleClass {
  public static void main(String[] args) {
    Person person = new Person();
    person.setName("田中太郎");
    person.setAge(20);
    person.introduce();
  }
}

class Person {
  private String name;
  private int age;
 
  public String getName() { return name; }
  public void setName(String name) { this.name = name; }
  public int getAge() { return age; }
  public void setAge(int age) { this.age = age; }
  public void introduce() {
    System.out.println("こんにちは!私の名前は" + this.name + "です。年齢は" + this.age + "です!");
  }
}

 

実行結果

こんにちは!私の名前は田中太郎です。年齢は20です!

 

まとめ

この記事ではJavaのクラスの種類と宣言方法について解説しました。

 

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。

TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。