プログラミング言語において、同じ名前の関数やメソッドなどを複数定義し、使い分ける仕組みのことです。
C言語のようなオーバーロードができないプログラミング言語では、同じ名前を持った関数やメソッドなどを重複して定義することは許されず、引数の型が異なるが、処理内容としては同じになるようなケースでは、別の名前で関数を定義しなければなりません。オーバーロードができる言語の場合は、引数の型や個数に違いがあれば、同じ名前の関数やメソッドなどを定義できます。呼び出しの際に、同名の関数のうちのどれを呼び出すかは実引数の型や個数によって判断されます。
C++ や C# など、いくつかのプログラミング言語では、演算子のオーバーロードも可能で、オペランドの型に応じて使い分けられます。
C++ による関数のオーバーロードの解説が、C++編【言語解説】第8章に、演算子のオーバーロードの解説が、第19章、第35章にあります。
オーバーロードによって、静的な多態性を実現できます。同じく多態性を実現する方法として、よく似た名前のオーバーライドがありますが、まったく別のものです。オーバーライドは動的な多態性を実現します。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |