メソッド(概要)
- 解説
- 1. メソッドとは
- 2. メソッド宣言
- 3. 複数のエントリーポイント
解説
1. メソッドとは
「FirstStep.java」について、今度は内側のブロックに注目して見てみましょう。
package net.digskill;
public class FirstStep {
public static void main(String[] args) {
System.out.println("Hello!");
}
}
この4行目から6行目までのブロックをメソッドと言い、クラスの中で実際に行いたい処理を書き込むブロックです。このブロックは必ずクラスのブロックの中に書く必要があります。
メソッドはクラス内に複数作ることができ、お互いに呼び出して相手のブロック内の処理を実行させることができます。このクラスとメソッドの仕組みによって、膨大な量の処理を整理・連携させることができるのです。
なお、この「main」という名称のメソッドは特別です。「F5」ボタンによりコンパイルと実行が行われる際、「このプログラムを起動してくれるプログラム」が最初に実行するメソッドとして探すメソッド名が「main」となっています。
これを「エントリーポイント」と言い、mainメソッドがすべての処理の入り口となります。
2. メソッド宣言
クラスと同様に、メソッド宣言部である4行目について、名称と意味・役割を下表にまとめました。今後学習する単語も出てきますので、ここはすべて理解する必要はありません。
mainメソッドは必ずサンプルのようにメソッド宣言するということは覚えておきましょう。
部分 | 名称 | 意味・役割 |
---|---|---|
{ ~ } | 波括弧 | 6行目の波括弧閉じまでがひとつの ブロックであることを示します。 |
( ~ ) | 丸括弧 | 丸括弧の中身がひとつのグループであることを示します。 それと同時に後に続くブロック(およびこの宣言自体)が 「メソッド」という構造であることも示しています。 |
String[] args | 引数 | このメソッドを実行する際に必要なデータを 受け取るための方法を示しています。これを引数と呼び、 mainメソッドは必ずこの型の引数が必要となります。 |
main | 識別子 | このメソッドに付けた名前です。 自由に命名できますが、ここではメソッド名となるため 先頭は小文字、以降の各単語の先頭を大文字とする 命名規則に従います。 |
void | 戻り値 | このメソッドを実行した後に呼び出したプログラムへ 返す(戻す)値の型を示します。ここではvoidとして 何も返さないということを示しています。 mainメソッドは必ずこの型の戻り値が必要となります。 |
static | static修飾子 | このアプリケーションを起動した後、インスタンス化 という準備を行わなくとも、このメソッドを直接 呼び出せる、ということを示しています。 mainメソッドは必ずstaticであることが必要です。 |
public | アクセス修飾子 | このメソッドの存在を隠さず、 他のクラスから参照できるということを示します。 mainメソッドは必ずpublicであることが必要です。 |
※型、メソッド構造(引数、戻り値)、static修飾子およびアクセス修飾子の詳細は今後学習します。
3. 複数のエントリーポイント
mainメソッドはすべての処理の入り口となるエントリーポイントであるため、起動してくれるプログラムが困らないよう、ひとつのクラスにひとつだけしか作ることができません。
ですが、同じプロジェクト内で複数のソースファイル(クラス)にmainメソッドがあっても問題はありません。「F5」によるコンパイル・実行の際にどのファイルを開いているかによって、実行されるmainが決定されますので、ソースファイル(クラス)をたくさん作ってどんどん練習しましょう!
問題
確認問題
確認問題1
この中でメソッドの説明として正しくないものはどれか?