メソッドのシグニチャとは? | Javaプログラマー資格試験(OCJ-P) WEB講座

Javaプログラマー資格試験(OCJ-P) WEB講座

Javaプログラマー資格(OCJ-P)を学習するブログです。

OCJ-P・Javaプログラマー資格をとりたい。
Javaプログラミングの入門者・初心者。

そんなあなたに、Javaプログラマー資格の取得に役立つ本質的な知識を、
分かりやすく解説していきます。

 シグニチャの研究。
もとい、シグネチャの研究。

メソッドのシグネチャという概念を知っていますか?
そもそもシグネチャは何かを知っていますか?


シグネチャとは、英単語【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みたいです。

コンパイラは、メソッドの順番も区別する。
と考えてよいということですね。

勉強になりました^^