[PR] 迷惑メール トップページプロ3ゼミJavaJava入門講座二学期単位6 →3時間目

3時間目 メソッドとは

6−3−1.オブジェクト指向ではメソッドは必須

 オブジェクト指向では、直接フィールドにアクセスする事は無く必ずメソッドを返してやり取りします。
これはオブジェクト指向の概念であり実際のプログラム又はJavaではメソッドを返さずに直接の場合もありま す。
できるだけ、メソッドを返しアクセスするように心得ましょう。

 Javaのメソッドは、オブジェクト指向のメッセージに相当します。
メッセージとは、オブジェクト同士のやり取りに使われる意味でフィールド同士ではやり取りしない事を意味 します。

 では、なぜフィールドに直接アクセスしないのでしょうか。
それは、単位6 4時間目 クラス及びメソッドの関係で詳しく説明します。
ここで簡単に言うと何も手続きを踏まずアクセスできるからです(例えば、お金を引き落とすときにATM又は 窓口を踏まずに直接引き落とすのと同じで好ましくありません)。

6−3−2.メソッドの構文

 構文は、以下の通りです。
型 メソッド名(型 変数名,…) {
    文;
    …
    
    return 文;
}
 メソッドを記述する場合は、必ずクラスの中に記述しなければいけません(プログラミング規則)。

 メソッド名は、最初の単語が小文字でそれ以降の単語の先頭は大文字です(Java主義)。
形としては、「xxxXxxxXxxx()」(xxxの数は決まりは無い)のような形でこの形を見ればメソッドだと言う事 が分かります。
メソッド名は、メソッド(手続き)を表す為、基本は動詞である事が多いですが、必ずしも動詞である必要は 無いようです。
JavaのAPIでは、メソッド名が動詞では無い事もある為です。

 「型 変数名」は「…」が示すように繰り返し記述する事もできれば何も記述しない事もできます。
2つ以上宣言されている時にだけ区切りとして「,」(カンマ演算子)を使用します。
又、「()」の中を引数といいます(以降引数とする)。
サンプルプログラムを見て説明した方が早いと思うので以下をご覧下さい!
Sample6_3_1.java
// 社員クラス
class Employee {

    // 表示用の文字列を返す
    String getFormatView(String name, String affiliationName) {

        String view = "氏名は" + name + "です\n" + "所属先は" + affiliationName + "です";

        return view;
    }
}

public class Sample6_3_1 {

    public static void main(String[] args) {

        Employee employee = new Employee(); // クラスの宣言及びインスタンス化

        // 社員情報を出力する
        String view = employee.getFormatView("サミー", "営業部");   // 表示用に変換して取得する
        System.out.println(view);
    }
}
氏名はサミーです
所属先は営業部です

 それではサンプルプログラムを基に説明します。

 EmployeeクラスのgetFormatViewがメソッドです。
記述方法が「型 メソッド名(型 変数名, …)」と合っていますね。
最初の型は呼び出し元に返す型で、その型の中身を返すのは、「return 文;」の文です。
サンプルプログラムの場合は「view」で、返す型(今回はString型)と最初に指定された型(今回はString型)が一致してい ない場合はコンパイルエラーです(よって、今回はコンパイルエラーではありません)。
呼び出し元は、「変数名.メソッド名(引数)」の記述になり、メソッドに渡す値を入れます。
ここでは、2つともString型なので文字列を代入しています。
渡せる値はメソッドで指定した型で代入するので、代入できない値を指定するとコンパイルエラーです。
サンプルプログラムの場合は、String型が2つ定義されているので文字列をカンマ演算子で区切り指定してい ます。
引数の数に基づいてアクセス時に指定しないとコンパイルエラーです。

 上の記述を整理し、サンプルプログラムの 「String view = employee.getFormatView("サミー", "営業部");」で説明します。
1.String型のview変数を宣言する。
2.Employeeクラスの変数employeeからgetFormatViewメソッドを呼び出す。
3.メソッドには、"サミー"及び"営業部"を引数に指定する。
4.view変数の初期値にgetFormatViewメソッドの戻り値を代入する。

2時間目 シンプルなクラスで説明スに戻る    4時間目 クラス及びメソッドの関係に進む

単位6 オブジェクト指向及びクラスの基本に戻る

トップページに戻る