未分類

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

投稿日:

          

前の節ではクラスの「カプセル化」機能を学びました。クラスでは、

同じクラスの中に、同じ名前を持つメソッドを2つ以上定義する

ということができます。

このクラスには、「setChara()メソッド」というメソッドが3つあります。このように、

同じ名前の複数のメソッドを、同じクラス内に定義しておく

ということができます。これをメソッドのオーバーロードといいます。

ただし、メソッドをオーバーロードするときには、各メソッドの引数の型・個数が異なるようにしなければなりません。

上記のコードでは、3種類のsetChara()メソッドを呼び出しています。

  1. 引数が2個のもの
  2. 引数がchar型のもの
  3. 引数がint型のもの

であるsetChara()メソッドが、それぞれ正しく呼び出されています。つまり、

1つのメソッド名の使用で、引数の異なる複数の中から自動的に処理を行ってくれるのです。

「setChara」のような1つの名前が、その状況に応じて別々のはたらきを持つことを、多態性(ポリモーフィズム)といいます。

オーバーロードについての注意

最初に説明したように、オーバーロードするメソッドは、引数の型や数が異なっていなければなりません。

もし、引数の型と数が全く同じで、戻り値だけが異なる次の2つのメソッドをオーバーロードできてしまうとしたら、どうなるでしょうか?

  • int setChara(int t)
  • void setChara(int t)

すると、次のような呼び出しをしても、2つのうちどちらのメソッドか、判断できないでしょう。

setChara(37);

オーバーロードするとき、引数の型または個数が異なるようにしておきましょう。

最後に2つのint型の最大値を求めるメソッドと、3つのint型の最大値を求めるメソッドをオーバーロードしたプログラムを示します。

クラスに欠かせないフィールドやメソッドについての重要なしくみを、学んできました。次の章では、コンストラクタについて説明していきます。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

サンプルイメージ

アリギリス プロフィール

       私はこれからjavaの基礎及び環境開発、JDKのインストールを解説し、より多くの人にスマホでゲームを作成してもらい「モノ作り」の面白さに触れてもらいたいと思います。 このブログではjav …

サンプルイメージ

画面への出力

前回画面に文字列を出力するコードを学習しました。「System.out.println・・・」という言葉に注目してください。この「System.out」とは、 標準出力(standard output …

サンプルイメージ

Android Studioインストール&日本語化

      まずAndroid StudioとGoogle検索して、1番上の項目を選択してください。 下記の画面になるので、最新バージョンをダウンロードしましょう。 DOWNLOAD ANDROID …

サンプルイメージ

練習問題(日付クラス)

         練習12-1 実行した日を含め30日を画面に表示してください。 練習12-2 CharacterオブジェクトをyyyyMMdd形式の文字列に変換するメソッド、formatYMDを作成 …

サンプルイメージ

はじめてのAndroidアプリ作成

     文字列を描画するプログラムを作り解説します。 ソースコードの追加 ソースコードを追加する手順は次の通りです。今回は、「StringEx」と「StringView」の2つを追加します。 ①プロ …