Java入門|クラスの基本と命名ルール

クラスの形がわかると、Javaコードの見え方が変わる。Sample1.javaで学ぶクラスの基本と命名ルール

Javaのコードを読み始めたとき、まず目に入るのは System.out.println のような命令かもしれません。けれども、Javaのプログラム全体を見渡してみると、それらの命令はただ並んでいるわけではなく、ある決まった入れ物の中にまとめられていることがわかります。その入れ物が クラス です。

Javaでは、プログラムを書くときに、クラスというまとまりを使ってコードを整理します。つまり、Javaのコードは、クラスを土台として組み立てられているのです。これを最初に押さえておくと、コードを読むときにも、書くときにも、全体の構造がぐっと見やすくなります。

また、クラスには名前をつける必要があります。この名前のつけ方には、文法上のルールだけでなく、実際の開発でよく使われる書き方の習慣もあります。学習の早い段階でこうした考え方に触れておくと、あとからより自然なJavaコードを書きやすくなります。

ここでは、Sample1.java だけを使いながら、クラスとは何か、クラス名はどこに書かれているのか、Javaのコードがどのようにクラスで囲まれているのか、そしてクラス名の基本的な命名ルールや開発現場で意識される決まりについて、やさしく丁寧に見ていきましょう。

まずは Sample1.java 全体を見てみよう

クラスの基本を理解するために、最初に Sample1.java の全体を確認します。

ファイル名:Sample1.java

// 画面にメッセージを2行表示するプログラム
class Sample1
{
    public static void main(String[] args)
    {
        System.out.println("おはようございます。");
        System.out.println("今日もJavaを学んでいきましょう。");
    }
}

このコードの中で、クラスにあたる部分は次のところです。

class Sample1
{
    public static void main(String[] args)
    {
        System.out.println("おはようございます。");
        System.out.println("今日もJavaを学んでいきましょう。");
    }
}

このように、class という言葉で始まり、中カッコで囲まれた大きなまとまり全体が クラス です。

クラスとは何か

Javaでは、class という言葉が先頭についたブロックを クラス と呼びます。Sample1.java では、次の部分がクラスです。

class Sample1
{
    …
}

このクラスは、Javaのコードを入れておくための箱やまとまりのようなものだと考えるとわかりやすいです。mainメソッドも、その中に書かれている出力の文も、すべてこのクラスの中に入っています。

つまり、Javaのコードは、まずクラスという大きな枠があり、その中に必要な処理を書いていく形になっています。

学習の最初の段階では、クラスを 細かい命令を入れておくための入れ物 としてつかんでおくと十分です。あとで学習が進むと、クラスにはもっと深い意味があることを学びますが、今は Javaのコードはクラスで囲まれている という点をしっかり押さえることが大切です。

class の次に書かれる名前がクラス名

クラスには名前があります。その名前を クラス名 といいます。

Sample1.java の場合、次の部分に注目します。

class Sample1

ここでは、class の次に Sample1 と書かれています。この Sample1 がクラス名です。

つまり、

  • class は これからクラスを書きます という合図
  • Sample1 は そのクラスの名前

という関係になります。

このことを表で整理すると、次のようになります。

記述意味
classクラスを定義することを表すキーワード
Sample1このクラスの名前
{ }クラスの範囲を表すブロック

Javaのコードを読むときは、まず class の行を見て、クラス名が何かを確認する習慣をつけると、全体の見通しがよくなります。

Sample1.java には1つのクラスがある

Sample1.java をよく見ると、class で始まる大きなブロックは1つだけです。つまり、このプログラムには Sample1 という名前のクラスが1つあります。

class Sample1
{
    public static void main(String[] args)
    {
        System.out.println("おはようございます。");
        System.out.println("今日もJavaを学んでいきましょう。");
    }
}

このように、Javaのプログラムには、クラスが最低1つ以上必要です。少なくとも、Javaのコードはクラスなしでは成り立ちません。

今回の Sample1.java はとても短いサンプルなので、クラスも1つだけですが、それでもJavaの基本的な形はしっかり備わっています。Javaのコードは1つ以上のクラスからできている、という考え方の最初の例として、とてもわかりやすい形です。

Javaのコードはクラスで囲まれている

Sample1.java を全体として見たときに、mainメソッドや出力の文は、それぞれバラバラに置かれているわけではありません。すべてクラスの中にあります。

見やすく抜き出すと、こうなります。

class Sample1
{
    public static void main(String[] args)
    {
        System.out.println("おはようございます。");
        System.out.println("今日もJavaを学んでいきましょう。");
    }
}

この形を見ると、いちばん外側にクラスがあり、その中に mainメソッド があり、その中に出力の文があることがわかります。

つまり、Javaコードの構造は次のような入れ子になっています。

  • いちばん外側がクラス
  • その内側に mainメソッド
  • さらにその内側に文

この構造を意識できるようになると、コード全体を見たときに、どこが大きなまとまりで、どこがその中身なのかがつかみやすくなります。

クラスの中に mainメソッド があることを確認しよう

Sample1.java では、クラスの中に mainメソッド が書かれています。

class Sample1
{
    public static void main(String[] args)
    {
        System.out.println("おはようございます。");
        System.out.println("今日もJavaを学んでいきましょう。");
    }
}

ここで大切なのは、mainメソッド は単独で存在しているのではなく、必ずクラスの中にあるということです。Javaでは、このように、処理を書く場所にもきちんとした構造があります。

mainメソッド の中からプログラムの処理が始まることはすでに学びましたが、その mainメソッド 自体も、クラスという大きな枠の中に入っているのです。

この関係を表にすると、次のようになります。

まとまりSample1.java での役割
クラスプログラム全体を包む大きな枠
mainメソッド処理の開始地点
実際の小さな命令

このように、Javaのコードは階層的にできていることがわかります。

クラス名は自由につけられるが、わかりやすさが大切

クラス名は、基本的には自分で決めることができます。Sample1.java では、クラス名は Sample1 になっています。

class Sample1

学習用のサンプルでは、このように Sample1、Sample2 のような名前がよく使われます。これは、順番に例を増やしていくときにわかりやすいからです。

ただし、実際のプログラムでは、そのクラスがどんな役割を持っているのかが伝わる名前にすることが大切です。名前は自由につけられるとはいえ、自由すぎて意味のわからない名前にしてしまうと、あとで読みにくいコードになってしまいます。

今回は学習用なので Sample1 という名前をそのまま使っていますが、クラス名には 何を表しているのかがわかる名前をつける意識が大事だということも、少しずつ意識していくとよいでしょう。

クラス名の先頭は大文字にするのが一般的

Javaでは、クラス名の先頭の文字を大文字にするのが一般的です。Sample1 も、最初の S が大文字になっています。

class Sample1

これは、Javaの文法そのものが 必ず大文字にしなければならない と決めているわけではなく、読みやすさや統一感のために広く使われている書き方の習慣です。こうした習慣を守ることで、コードを見たときに これはクラス名だな と判断しやすくなります。

たとえば、次のように整理できます。

名前の例一般的かどうか理由
Sample1一般的先頭が大文字でクラス名らしい
sample1あまり一般的ではないクラス名とわかりにくくなることがある

このように、クラス名の先頭を大文字にすることは、読みやすいコードを書くための大切な習慣です。

ファイル名とクラス名の対応にも注目しよう

今回のサンプルでは、ファイル名は Sample1.java です。そしてクラス名は Sample1 です。

このように、ファイル名とクラス名が対応していることにも注目しておきたいところです。

ファイル名:Sample1.java

class Sample1
{
    public static void main(String[] args)
    {
        System.out.println("おはようございます。");
        System.out.println("今日もJavaを学んでいきましょう。");
    }
}

学習の初期段階では、ファイル名とクラス名がそろっていることを意識しておくと、混乱しにくくなります。特にサンプルを何本も作るときには、Sample1.java の中には Sample1、Sample2.java の中には Sample2 のように対応させておくと整理しやすいです。

この対応関係は、Javaを学ぶうえでとても大切な感覚のひとつです。

この図では、Javaのコードがどのようなまとまりでできているのかがひと目でわかります。mainメソッド や文だけを個別に見るのではなく、それらがクラスという大きな枠の中に入っていることが視覚的に理解できます。

特に初心者の方は、プログラムの命令ばかりに目が向きやすいのですが、実際にはその命令はクラスの中に整理されている、という全体像を持つことが大切です。クラスを外側の箱として意識すると、Javaコードの構造がぐっとわかりやすくなります。

開発の場では文法以外の決まりも大切になる

Javaは、大勢の人と協力して大きなシステムを作る場面でもよく使われます。そのため、実際の開発では、文法に合っているだけでなく、チームの中で決めた書き方のルールを守ることも大切になります。

今回の内容に関係するものとしては、たとえば次のような決まりがあります。

項目よく使われる決まり
コメント開発元、バージョン、作成日などを書くことがある
クラス名先頭を大文字にすることが一般的

Sample1.java のような短い学習用コードでは、そこまで細かな管理情報は書かれていませんが、実際の仕事では、コメントの書き方や名前のつけ方をチーム全体でそろえることがよくあります。

こうした決まりがあると、誰が読んでもわかりやすいコードになり、複数人での開発がスムーズになります。

Sample1.java から学べる命名ルールの第一歩

Sample1.java では、クラス名が Sample1 になっています。このサンプルから学べる命名ルールの第一歩を整理すると、次のようになります。

ポイントSample1.java での例
クラス名をつけるSample1
先頭を大文字にするS が大文字
クラス名は class の次に書くclass Sample1
ファイル名と対応させるSample1.java と Sample1

これらはとても基本的なことですが、Javaコードを書くうえでの土台になります。学習の早い段階で自然に身につけておくと、あとでより本格的なコードを書くときにも役立ちます。

Sample1.java を見ながら全体像を整理しよう

最後に、Sample1.java をもう一度見ながら、クラスの基本と命名ルールのポイントを確認してみます。

ファイル名:Sample1.java

// 画面にメッセージを2行表示するプログラム
class Sample1
{
    public static void main(String[] args)
    {
        System.out.println("おはようございます。");
        System.out.println("今日もJavaを学んでいきましょう。");
    }
}

このコードからわかることは、次の通りです。

  • Javaのコードはクラスで囲まれている
  • class の次に書かれた Sample1 がクラス名である
  • クラスの中に mainメソッド がある
  • クラス名の先頭は大文字にするのが一般的である
  • ファイル名 Sample1.java とクラス名 Sample1 が対応している

このように、Sample1.java は短いコードでありながら、Javaのクラスの基本を学ぶための大切な要素をしっかり含んでいます。コードの細かな命令だけでなく、それらを包んでいる クラス という大きな枠にも目を向けることで、Java全体の見え方がぐっとはっきりしてきます。