Technology

[Java]メソッドの呼び出し元と呼び出し先

2020-12-30

メソッドで呼び出し元、呼び出し先という言葉がよく使われるが、あまり慣れず混乱するので、整理。


呼び出し元(Caller)と呼び出し先(Callee)

下記の例を見てみる。

public class Main{

    // メインメソッド
    public static void main(String[] args){
        hello();
    }

    // helloメソッド
    public static void hello(){
        System.out.println("Hello World!");
    }
}


ここでは、mainメソッドがhelloメソッドを呼び出している。

つまり、

  • 呼び出し元:mainメソッド
  • 呼び出し先:helloメソッド

となる。


仮引数(parameter)と実引数(argument)

この呼び出し元、呼び出し先に関係のある概念として、仮引数と実引数がある。

例えば先程の例に、引数を付け足す。

public class Main {
      public static void main(String[] args) {
         //実際に使用される引数は実引数
        String hello = hello("こんにちは");
        System.out.println(hello);
    }
    
    //メソッドの定義時に使用される引数は仮引数
    public static String hello (String greeting) {
        String hello = greeting;
        return hello;
    }
}


ここでいうと

  • 仮引数(Parameter) : 呼び出し先のhelloメソッドの定義で使われている「String greeting」
  • 実引数(Argument):呼び出し元のmainメソッドで、helloメソッド呼び出しの際に実際に使用される 「こんにちは」

ということになる。

-Technology