シグニチャの研究。
もとい、シグネチャの研究。
メソッドのシグネチャという概念を知っていますか?
そもそもシグネチャは何かを知っていますか?
シグネチャとは、英単語【signature】の日本語訳です。
意味は サイン、署名
などという意味になります。
つまり、ものを識別する記号という事です。
転じて、メソッドのシグネチャとは、
メソッドを識別するものという事になります。
ちなみに、シグネチャはシグニチャではありません。
シグネチャが標準です。言語規定[8.4.2 メソッドのシグネチャ]
でそう使われているからです。
メソッドのシグネチャは3つの要素からなります。
3つの要素とは、メソッド名、引数の型、引数の数の3つになります。
Javaでは一般的にメソッドを定義するとき、以下のように書きます。
public void メソッド名 (引数の型 変数){ 処理 };;
例えば、
public void test(String s){ 処理; };
という具合ですね。
このとき、メソッド名は test
引数の型は String
引数の数は Stringが1つ
ということになります。
引数の型や数はいくつでもOKです。
public void test(String s,int i,int t){};
という要領ですね。
私が気になったのは、
引数の並び順は関係あるのか?ということ。
簡単なサンプルを書いて調べてみました。
public class Main {
public void test(String s,int i){};
public void test(int i,String s){};
}
メソッドtestの2つの引数String sとint iの順番を逆にしたメソッドを作りました。
コンパイルしたらエラーにならなかったので、順番が変わればOKみたいです。
コンパイラは、メソッドの順番も区別する。
と考えてよいということですね。
勉強になりました^^