Javaキーワードの理解:修飾子
Javaプログラミング言語における「修飾子(Modifiers)」は、クラス、メソッド、変数などの宣言に付与され、それらの動作やアクセス範囲を制御するキーワードです。この記事では、Javaの修飾子の種類、それぞれの修飾子の役割、および具体的な使用例について、初学者にも分かりやすく解説します。
修飾子の種類
Javaにおける修飾子は大きく二つのカテゴリに分類されます:アクセス修飾子と非アクセス修飾子。
- アクセス修飾子:
public: どこからでもアクセス可能。protected: 同一パッケージ内またはサブクラスからアクセス可能。default(修飾子なし): 同一パッケージ内からのみアクセス可能。private: 宣言されたクラス内からのみアクセス可能。
- 非アクセス修飾子:
static: クラスに属するメンバーであることを示す。final: 変更不可の変数、オーバーライド不可のメソッドまたはサブクラス化不可のクラスを宣言する。abstract: 抽象クラスまたはメソッドを宣言する。synchronized: メソッドまたはブロックがスレッドによって同時に実行されないようにする。- 他にも
transient、volatileなどがあります。
修飾子の使用法
- アクセス修飾子は、クラス、メソッド、変数の可視性とアクセス範囲を定義します。
- 非アクセス修飾子は、主に宣言された要素の動作を制御します。
Javaでの修飾子の使用例
アクセス修飾子の例
public class AccessModifiersExample {
private int privateVar = 10;
public int publicVar = 20;
protected int protectedVar = 30;
int defaultVar = 40; // default修飾子は、修飾子を指定しないことで表される
public void display() {
System.out.println("Private Var: " + privateVar);
System.out.println("Public Var: " + publicVar);
System.out.println("Protected Var: " + protectedVar);
System.out.println("Default Var: " + defaultVar);
}
}
非アクセス修飾子の例
public class NonAccessModifiersExample {
public static final String CONSTANT = "Constant Value";
public static void staticMethod() {
System.out.println("Static Method");
}
public final void finalMethod() {
System.out.println("Final Method");
}
public static void main(String[] args) {
NonAccessModifiersExample.staticMethod();
System.out.println(NonAccessModifiersExample.CONSTANT);
NonAccessModifiersExample example = new NonAccessModifiersExample();
example.finalMethod();
}
}
まとめ
修飾子は、Javaプログラミングにおいてクラス、メソッド、変数の振る舞いやアクセス範囲を制御するための重要な要素です。アクセス修飾子を適切に使用することで、エンカプセレーションとセキュリティを向上させることができます。非アクセス修飾子を通じて、インスタンスの性質やメソッドの振る舞いを細かく制御することが可能になります。上記の例を通じて、Javaでの修飾子の基本的な使用方法とその意義について理解を深めることができました。

コメント