フォルダー構造とパッケージ

目次
  • 解説
  • 1. フォルダー構造
  • 2. ソースフォルダー
  • 3. パッケージ
  • 4. パッケージの命名規則
  • 5. パッケージの宣言
問題に挑戦!
進捗を変更する




解説

1. フォルダー構造


前のページで作成したプロジェクトのフォルダー構造を見ていきましょう。

Javaなどのプログラム言語によるアプリケーション開発では、プロジェクトという単位で管理が行われますが、通常これはただのフォルダーです。

今回のアプリケーションでは「workspace_java_basic」というフォルダーとなり、これをプロジェクトフォルダープロジェクトルートと呼びます。

VSCodeでは、このプロジェクトフォルダーを開くことで「このアプリケーションに対する作業を開始するよ」ということになり、自分のプログラムファイルだけでなく、VSCodeが作成する設定ファイルなどもこの中に入ります。

2. ソースフォルダー


Javaプログラムを書きこんだ「FirstStep.java」というJavaファイルは、プログラムファイルソースファイルなどと呼びます。

ソースとは、コンパイルにより作成される実行ファイルの「元になるもの」という意味です。

また、そのファイルを格納するフォルダーはプログラムフォルダーソースフォルダーと呼びます。

プログラムは目的などにより書き込むファイルが分かれるため、ちょっとしたアプリケーションでもかなりのファイル数になります。そのため、ソースファイルには目的などに応じた名前を付け、適切なソースフォルダーに仕分けして格納する必要があります。

3. パッケージ


ソースファイルは仕分けしてバラバラのソースフォルダーに格納されてしまいますが、それぞれが連携して動くためには、お互いに認識できる「一意な名前」が必要となります。

ファイル名だけでは、別のフォルダーに同名のファイルが存在し得るため、一意とは言えません。逆に、同じフォルダー内には同名のファイル/フォルダーは作れませんので、フォルダー階層も含めることで一意に識別することが可能です。

Javaでは各ソースフォルダー階層をピリオド「.」でつなぐことで、一意な名前を表現します。これをパッケージと言います。今回作成した「FirstStep.java」というソースファイルに対するパッケージは「net.digskill」となります。

フォルダー構造とパッケージ名の例

4. パッケージの命名規則


パッケージ、およびそれが指し示すソースフォルダーは、すべて小文字で表記するという命名規則がありますので、それに従いましょう。

また、世界的に一意であることを簡単に実現するため、そのプログラムの所有者や作成者が属する組織の所有する、インターネットドメインを逆順にしたパッケージ名を先頭につけることが推奨されています。

このプログラムも「digskill.net」での学習に用いるため、「net > digskill」というソースフォルダーの構造を構築し、「net.digskill」が常にパッケージ名の先頭に付くようにしているのです。

5. パッケージの宣言


実際のプログラム内では、ソースファイルの先頭でパッケージ宣言します。「FirstStep.java」においても、1行目でパッケージ宣言が行われていますね。

package net.digskill;

public class FirstStep {
    public static void main(String[] args) {
        System.out.println("Hello!");
    }
}

ソースファイルを作成したら、格納したソースフォルダーの階層と一致するパッケージを宣言することを忘れないでください。

パッケージによるプログラム間の連携については、少し先の「インポート」のページで学習します。

問題

確認問題


確認問題1

この中でフォルダー構造パッケージの説明として正しくないものはどれか?