0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ポリモーフィズムって何?

Last updated at Posted at 2021-02-10

はじめに

現在、Rubyと並行してJavaの学習を行っています。
その中で、ポリモーフィズムという言葉がでてきたので学んだことを備忘録として残したいと思います。

ポリモーフィズムとは

日本語では「多様性」という意味です。
1つの名前の複数のメソッドを対象に応じて定義できることなのです。

現状の私の知識では、「オーバーロード」「オーバーライド」の2点を学びましたので、
説明していきます。

オーバーロードとは

同一のクラス内で同一名の複数のメソッドを定義すること。
区別の仕方は、メソッドの引数や、戻り値の型の違いで区別する。

下記のコードですが、同じクラス内に同名のメソッドがありますよね?
しかし、メソッドに引数があるかないかで呼び出すメソッドを区別しています。

class Parent{
//メソッド
 void sample(){
     System.out.println("parent");
 }
// オーバーロードされたメソッド
 void sample(String s){
     System.out.println("sample:" + s);
 }
}

オーバーライド

子クラスに親クラスと同一のメソッドを定義することです。
挙動として、子クラス内に王手同一のメソッドがオーバーライドされたメソッドによって処理が置き換えられる。

//親クラス
class Parent{
//メソッド
 void sample(){
     System.out.println("parent");
 }
// オーバーロードされたメソッド
 void sample(String s){
     System.out.println("sample:" + s);
 }
}

//子クラス
class Child extends Prarent {
  //オーバーライドされたメソッド
  void method(){
    System.out.println("child");
  }
}

さいごに

コードを書く時に、何気に行っている作業にも名前がついていて、それを理解することでより理解が深まることを実感しました。
ここまで読んでいただきありがとうございました!

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?