トップ 言語 Java クラス、メソッド、インターフェース Javaのメソッドとは mainメソッド、コンストラクタ、命名規則 Javaのメソッドのオーバーライドとは

Javaのメソッドのオーバーライドとは―Javaのメソッドのオーバライドの規則など

Javaのメソッドのオーバライドの規則など。Javaのメソッドのオーバーライドとは何か、また似た用語であるオーバーロードについてまとめています。

▲記事トップへ

目次

この記事の目次です。

1. メソッドのオーバーライドとは
2. オーバーライドの規則
3. メソッドのオーバーロード

更新履歴

1. メソッドのオーバーライドとは

メソッドのオーバーライドとは、サブクラス側でスーパークラスで定義されているメソッドと 同じメソッド(名前、パラメータの型、数、並びも同じ)を定義しなおすことです。

オーバーライドの意味

オーバーライドの英語は、overrideです。 overrideは、乗り越える、~に優先する、覆す、圧倒する、などの意味を持つ英単語です。

オーバーライドの利用場面

スーパークラスを継承したサブクラスでは、アクセス制限が設定されていない限り、スーパークラスのメソッドが利用できますね。 ただ、場合によっては、スーパークラスのメソッドの処理とは違う処理を行いたい場合や処理を追加したい場合があります。

そのようなときに使うのがオーバーライドの機能です。 スーパクラスのメソッドのシグネチャー(メソッド名、戻り値、引数)と同じメソッドをサブクラスに定義して、 メソッドをオーバーライドします。

このように、オーバーライドを使用するとメソッドを共通化した上で、 メソッド本体に記述するコードを変えることによって、必要な処理を使い分けることができます。 なお、コンストラクタは継承できないので、コンストラクタはオーバーライドできません。

2. オーバーライドの規則

以下ではJavaのメソッドのオーバーライドの規則についてまとめています。

3. メソッドのオーバーロード

メソッドのオーバーロードとは、同じクラスにコンストラクタや同じ名前のメソッドを複数定義することです。

オーバーロードの意味

オーバーロードの英語は、overloadです。 overloadは、過負荷(にする)、過重積載(する)、過重負担(をかける)、などの意味を持つ英単語です。

オーバーロードの利用場面

オーバーロードは以下のような場合に別の名前ではなく、同じ名前のメソッドを呼び出すことが出来るので便利です。

Javaのメソッドのオーバーロードの例(コンストラクタの場合)

以下にJavaのコンストラクタのオーバーロードの例を示します。

サンプルプログラム

new演算子でコンストラクタを呼び出すと「Hello XXX!!」と表示するサンプルコードです。 ファイル名はHello.javaです。

class Hello {

    Hello() {
        System.out.println("Hello!!");
    }

    Hello(String name) {
        System.out.println("Hello " + name + "!!");
    }

    public static void main(String args[]){
        new Hello();
        new Hello("World");
    }
}

コンパイルと実行例

以下はコンパイルと実行の例です。

javac Hello.java
java Hello
Hello!!
Hello World!!

Javaのメソッドのオーバーロードの例(同じ名前のメソッドの場合)

以下にJavaにおける同じ名前のメソッドのオーバーロードの例を示します。

サンプルプログラム

printHelloMessageメソッドを呼び出すと「Hello XXX!!」と表示するサンプルコードです。 ファイル名はHello2.javaです。

class Hello2 {

    static String printHelloMessage() {
        System.out.println("Hello!!");
    }

    static String printHelloMessage(String name) {
        System.out.println("Hello " + name + "!!");
    }

    public static void main(String args[]){
        printHelloMessage();
        printHelloMessage("World");
    }
}

コンパイルと実行例

以下はコンパイルと実行の例です。

javac Hello2.java
java Hello2
Hello!!
Hello World!!

もっと知識を広げるための参考

更新履歴

更新履歴になります。

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

18.119.113.79

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク