Javaでプログラミングを行う際、コードの意図を説明したり、一時的に特定の処理を無効化したりするために欠かせないのが「コメントアウト」です。
コメントはコンパイラによって無視されるため、プログラムの動作に影響を与えることなく、開発者同士のコミュニケーションや備忘録として活用できます。
しかし、単に書き方を覚えるだけでなく、メンテナンス性の高いコードを書くための作法や、効率的なショートカットキーの活用を知っておくことは、プロのエンジニアとして非常に重要です。
本記事では、Javaにおける3種類のコメント形式から、実務で役立つJavadocの書き方、主要IDEでのショートカットまで詳しく解説します。
Javaにおけるコメントアウトの基本機能
Javaのコメントアウトには、大きく分けて「ソースコードの解説」と「処理の一時停止」という2つの役割があります。
複雑なロジックを後から見返したときに、なぜそのような実装にしたのかを記しておくことで、自分自身やチームメンバーの理解を助けます。
また、バグの原因特定(デバッグ)の際に、怪しい箇所を一時的にコメント化して除外する手法も一般的です。
Javaでは、用途に合わせて以下の3つの書き方が用意されています。
- 行コメント(単一業)
- ブロックコメント(複数行)
- Javadocコメント(ドキュメント生成用)
これらの使い分けをマスターすることで、コードの可読性は飛躍的に向上します。
1. 単一行コメントの書き方
最も頻繁に使用されるのが、//(スラッシュ2つ)を用いた単一行コメントです。
基本的な記述方法
// 以降からその行の末尾までがコメントとして扱われます。
行の先頭から書くことも、コードの右側に補足として書くことも可能です。
public class Main {
public static void main(String[] args) {
// 変数xに数値を代入する(行頭からのコメント)
int x = 10;
int y = 20; // 変数yに数値を代入(コードの後のコメント)
// System.out.println("DEBUG: x = " + x); // 実行したくない処理をコメントアウト
System.out.println("Sum: " + (x + y));
}
}
単一行コメントの活用シーン
単一行コメントは、直後の1行が何をしているかを説明する場合や、簡単な変数の補足に適しています。
ただし、あまりにも細かく書きすぎるとコードがかえって読みづらくなるため、「コードを見ればわかること」ではなく「なぜそうしたか」という意図を優先して書くのがコツです。
2. 複数行(ブロック)コメントの書き方
複数の行にわたってまとめてコメントアウトしたい場合は、/ と / で囲みます。
基本的な記述方法
開始記号 / から終了記号 / までの間にあるすべての文字が、改行を含めてコメントとして処理されます。
/*
このクラスは計算処理を担当します。
複雑なアルゴリズムを含むため、
変更する際は仕様書を確認してください。
*/
public class Calculator {
/*
public int add(int a, int b) {
return a + b;
}
*/
}
使用上の注意点:入れ子の禁止
複数行コメントを使用する際に注意が必要なのは、コメントを入れ子(ネスト)にすることはできないという点です。
以下の例はコンパイルエラーの原因となります。
/*
外側のコメント
/* 内側のコメント */
ここでエラーが発生する
*/
Javaのコンパイラは、最初の / に対して次に出現する / をペアとして認識します。
そのため、上記のような記述をすると、内側の終了記号でコメントが終わったと判定され、その後の記述が不正なコードとして扱われてしまいます。
広範囲をコメントアウトする際は注意しましょう。
3. Javadocコメントの書き方と役割
Javadoc(ジャバドック)は、Java特有の特殊なコメント形式です。
プログラムの仕様書(APIドキュメント)を自動生成するために使用されます。
基本的な記述方法
/*(アスタリスクが2つ)で書き始め、/ で閉じます。
/**
2つの整数の和を返します。
@param a 加数
@param b 被加数
@return aとbの合計値
*/
public int sum(int a, int b) {
return a + b;
}
主要なJavadocタグ
Javadoc内では、@ から始まるタグを使用することで、引数や戻り値の意味を構造的に記述できます。
| タグ名 | 説明 | 記述例 |
|---|---|---|
@param | メソッドの引数の説明 | @param name ユーザーの名前 |
@return | 戻り値の説明 | @return 処理結果(成功ならtrue) |
@throws | 発生する可能性がある例外の説明 | @throws IOException 入出力エラー時 |
@author | 作成者の名前 | @author TaroYamada |
@version | クラスのバージョン | @version 1.0.2 |
@deprecated | 非推奨のメソッドやクラスであることを示す | @deprecated 代わりにnewMethod()を使用してください |
なぜJavadocを書くのか
Javadocを記述する最大のメリットは、IDE(統合開発環境)の支援を受けられることにあります。
IntelliJ IDEAやEclipseなどのツールでは、メソッドを呼び出す際にJavadocの内容がポップアップで表示されるため、ソースコードを直接読みに行かなくても使い方が即座に理解できます。
大規模開発やライブラリ開発において、Javadocは必須のスキルと言えます。
効率アップ!主要IDEのショートカットキー一覧
手動でスラッシュを入力するのは手間がかかります。
現代の開発現場では、IDEのショートカットキーを活用して瞬時にコメントアウトを行うのが一般的です。
IntelliJ IDEA / Android Studio
| 機能 | Windows / Linux | macOS |
|---|---|---|
| 単一行コメントの切り替え | Ctrl + / | Command + / |
| ブロックコメントの切り替え | Ctrl + Shift + / | Command + Shift + / |
Eclipse
| 機能 | Windows / Linux | macOS |
|---|---|---|
| 単一行コメントの切り替え | Ctrl + / | Command + / |
| ブロックコメントの追加 | Ctrl + Shift + / | Command + Shift + / |
| ブロックコメントの解除 | Ctrl + Shift + \ | Command + Shift + \ |
Visual Studio Code (VS Code)
| 機能 | Windows / Linux | macOS |
|---|---|---|
| 単一行コメントの切り替え | Ctrl + / | Command + / |
| ブロックコメントの切り替え | Shift + Alt + A | Shift + Option + A |
これらのショートカットは、「複数行を選択した状態で実行」すると、選択範囲すべてを一度にコメント化できるため、作業効率が格段にアップします。
実務で意識すべきコメントの「良い書き方」と「悪い書き方」
初心者ほど「何でもコメントに残そう」としがちですが、質の高いコードにおいては、コメントの量よりも質が問われます。
良いコメントの例
- 意図(Why)の明示
「なぜこの数値で制限をかけているのか」「なぜこの特殊なライブラリを採用したのか」といった実装の背景や動機。
- 複雑なロジックの要約
数学的な計算式や複雑な
正規表現などの処理内容を、人間が理解しやすい言葉で補足したもの。- 注意喚起
「このメソッドはスレッドセーフではないため、並列実行禁止」といった、運用上の制約に関する記述。
避けるべきコメントの例
- コードを見ればわかる内容(What)
i++; // iを1増やすといった説明は、コードを読めば自明であり、ノイズになります。- 古くなったコメント
コードを修正したのにコメントを更新し忘れると、嘘の情報の記述となり、重大な混乱を招きます。
- 不要になったコードの放置
「いつか使うかも」と古いコードをコメントアウトして残し続けると、ファイルの見通しが悪くなります。
バージョン管理システム(Gitなど)を使用している場合は、思い切って削除しましょう。
応用編:コメントをデバッグに活用する
開発中、プログラムが期待通りに動かない原因を切り分けるために、コメントアウトは強力なツールになります。
public void processOrder() {
validateOrder();
saveToDatabase();
// 一時的にメール送信機能を停止してテストする
// sendConfirmationEmail();
updateInventory();
}
このように、特定の機能を「一時的に眠らせる」ことで、どこにエラーの原因があるのかを効率よく特定できます。
ただし、デバッグが終わったら必ずコメントを外すか、不要な場合は削除することを忘れないようにしましょう。
まとめ
Javaのコメントアウトは、単にコードを無効化するツールではなく、「未来の自分やチームメンバーへのメッセージ」です。
- 単一行コメント (//) は、短い補足やデバッグ時の一時停止に。
- 複数行コメント (/* … */) は、広範囲の無効化やクラス単位の説明に。
- Javadoc (/** … */) は、公開するメソッドやクラスの仕様定義に。
これらを適切に使い分け、IDEのショートカットキーを使いこなすことで、開発スピードとコードの品質は確実に向上します。
読みやすいコメントは、優れたエンジニアの証です。
今日からの開発に、ぜひ本記事の内容を役立ててみてください。






