【Java】Javaのファイル名とクラス名のルールをやさしく解説|public クラスと一致させる理由を実務目線で整理

Java入門・実践
スポンサーリンク
スポンサーリンク

はじめに

Java を学び始めると必ず出てくる疑問が
「ファイル名とクラス名って一致しないとダメなの?」
という話。

実は Java には明確なルールがあり、
これを理解しておくとプロジェクト構造がぐっと読みやすくなります。

この記事では、やさしく・実務寄りに
Java のファイル名とクラス名のルールを整理していきます。


まずはコードを確認

Java
// ファイル名:Hello.java
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello!");
    }
}

コードのしくみを解説

ルール①:public クラスの名前とファイル名は一致させる

Java の最重要ルールがこれ。

Java
public class Hello { }

このクラスがある場合、 ファイル名は必ず Hello.java でなければいけません。

理由:

  • Java は「public クラス = ファイルの代表」として扱う
  • JVM がクラスを探すときの基準になる
  • プロジェクト構造が明確になる

ルール②:public でないクラスは同じファイルに複数書ける

Java
// Sample.java
public class Sample { }

class Helper { }
class Util { }
  • public クラスは 1つだけ
  • public でないクラスは複数 OK
  • ただし実務では「1ファイル1クラス」が基本(読みやすさのため)

ルール③:クラス名は「大文字で始める」のが慣習

Java の命名規則(キャメルケース):

  • クラス名 → 先頭大文字(PascalCase)
  • メソッド名 → 先頭小文字(camelCase)
  • 変数名 → 先頭小文字(camelCase)

例:

Java
public class UserAccount { }
public class OrderService { }

実務ではこのルールが徹底されています。

ルール④:ファイル名は「クラス名 + .java」

Java
UserAccount.java
OrderService.java

拡張子は必ず .java


あわせて知っておきたいポイント

public クラスがない場合、ファイル名は自由

Java
// ファイル名:Anything.java
class A { }
class B { }

public クラスがなければ、 ファイル名は何でも OK。

ただし実務ではほぼ使いません。

main メソッドを持つクラスは public にするのが一般的

Java
public class Main { }

理由:

  • JVM が呼び出すため
  • プロジェクトの入口としてわかりやすい

クラス名と役割は一致させる

悪い例:

Java
public class A { }

良い例:

Java
public class UserRepository { }

名前だけで「何をするクラスか」がわかるようにするのが実務の基本。


使うときに気をつけたいこと

  • public クラス名 = ファイル名(絶対ルール)
  • public クラスは1ファイルに1つだけ
  • クラス名は先頭大文字(PascalCase)
  • ファイル名はクラス名 + .java
  • 役割がわかる名前をつける

実務では「名前の付け方」がコードの読みやすさを大きく左右します。


まとめ

Java のファイル名とクラス名のルール

  • public クラス名とファイル名は一致
  • public クラスは1つだけ
  • 非 public クラスは複数 OK
  • クラス名は先頭大文字
  • ファイル名は「クラス名 + .java」

実務でのポイント

  • 1ファイル1クラスが基本
  • 名前で役割がわかるようにする
  • main クラスは public にするのが一般的

decopon
decopon

Java のファイル名とクラス名のルールは、 「public クラスがファイルの代表」という考え方を知るだけで 一気にスッキリします。Java Bronze の試験でも、実務のプロジェクト構造でも、 ここを押さえておくと安心してコードが読めるようになります。あなたの学びが、次のステップにつながりますように。

moco
moco

public クラスが“看板”、
ファイル名はその“看板の名前”。
そんなイメージで覚えるとわかりやすいよ。

コメント

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