オーバーライド【override】

概要

オーバーライドとは乗り越える、~に優先する、覆す、圧倒する、などの意味を持つ英単語。IT分野では、既存の設定や動作を別の定義で置き換える操作を表す。特に、オブジェクト指向プログラミングにおいて、親クラスで定義されたメソッドを子クラスで再定義して上書きすることを指すことが多い。
オーバーライドのイメージ画像

ある場所で定義された設定や手続き、属性などを別の定義で上書きし、後者を優先して適用する仕組みや操作をオーバーライドという。複数の定義が重複した際にどれを有効にするかを決める手段として用いられる。

オブジェクト指向プログラミングOOP)では、スーパークラス(親クラス/基底クラス)で定義されたメソッドを、そのクラス継承したサブクラス(子クラス/派生クラス)で同じ名前で定義し直し、独自の処理に差し替えることをオーバーライドという。共通の基盤を引き継ぎつつ、特定のサブクラスだけ一部の挙動を変更したい場合などに用いられる。

オーバーライドの際は、元のメソッドと引数の型、数、順序を一致させることが求められる。言語によって扱いは異なり、Javaでは@Overrideアノテーションで意図的な再定義であることを明示してコンパイル時の誤り検出に役立て、C++言語では仮想関数(virtual)として宣言されたメソッドのみがオーバーライド可能である。

オーバーライドはポリモーフィズム多態性)の基盤となる仕組みでもあり、JavaPython、C#、Rubyなど主要な言語で広くサポートされている。似た用語に「オーバーロード」があるが、これは同一クラス内で引数の構成が異なる同名のメソッドを複数定義する仕組みであり、継承関係における再定義を指すオーバーライドとは異なる。

プログラミング以外でも、あらかじめ定義されたデフォルト値継承された設定を、利用者や管理者が独自に書き換えてその内容を優先的に適用する操作をオーバーライドと呼ぶことがある。例えば、CSSで親要素や外部スタイルシートの定義をより詳細度の高い記述で上書きする操作や、システム全体の共通設定に対して特定の利用者やプロジェクトだけ異なる設定値を適用するケースなどがこれに当たる。

(2026.6.14更新)
 

他の辞典等による「オーバーライド」の解説 (外部サイト)

資格試験などの「オーバーライド」の出題履歴

▼ 基本情報技術者試験
令7修6/令5修7/平29秋】 オブジェクト指向プログラミングにおける,多相性を実現するためのオーバーライドの説明はどれか。
平26秋】 多相性を実現するときに,特有のものはどれか。
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。