メソッドのオーバーロード(シグニチャの異なる複数の同名メソッド)

同じ名前で引数や返り値の型が異なるメソッドを複数定義することをオーバーロードという。

C言語

同じ名前の関数を複数定義することはできない。

C++

引数の型や数が異なれば関数のオーバーロードが可能。

返り値の型だけが異なる関数のオーバーロードはできない。

Java

引数の型や数が異なれば関数のオーバーロードが可能。

返り値の型だけが異なる関数のオーバーロードはできない。

Java5以降でジェネリックス(総称型)が導入されたが、引数の型がジェネリックス(総称型)の場合で、その型パラメータのみが異なる複数のメソッドを定義することはできない。

Scala

引数の型や数が異なれば関数のオーバーロードが可能。

返り値の型だけが異なる関数のオーバーロードはできない。

Javaと同じく理由で、引数の中の型パラメータだけが異なるメソッドを定義することはできない。

PHP

関数のオーバーロードはできない。

ユーザー定義関数 | PHP Manual
http://php.net/manual/ja/functions.user-defined.php

Python

関数のオーバーロードはできない。

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。