仮想関数 【virtual function】 仮想メソッド / virtual method

概要

仮想関数(virtual function)とは、オブジェクト指向プログラミング(OOP)で用いられる特殊なメンバ関数で、サブクラス(子クラス/派生クラス)で同じ関数を定義して機能を上書き(オーバーライド)できるもの。C++言語などで用いられ、C#では仮想メソッドという。

クラスを構成するメンバ関数として定義されるが、サブクラスで同じ名前、引数返り値の型を持つ関数を定義し直すことができる。サブクラスインスタンス化するとサブクラス側の関数宣言が有効となり、スーパークラス側の元の関数宣言は無効となる。このような動作を「オーバーライド」(override)という。

関数宣言構文に「virtual」のキーワードを指定することで仮想関数であることを示すことができる。仮想関数自体も実装を持ち、サブクラスオーバーライドしなかった場合はスーパークラス実装がそのまま引き継がれて有効となる。

C++では、実装を持たず関数宣言のみの「純粋仮想関数」(pure virtual function)を定義することもでき、サブクラスで必ず実装を記述しなければならない。この機能は他の言語では「抽象メソッド」(abstract method)と呼ばれることが多い。

(2023.6.6更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる