LoginSignup
0
0

More than 3 years have passed since last update.

abstract(抽象クラス) と interface(インターフェイス)

Posted at

abstract(抽象クラス)とは

抽象メソッドを一つ以上もつクラスのこと。

抽象メソッドとは、具体的な処理を記述せずに、引数やメソッド名の定義のみを宣言するメソッド。

抽象クラスの宣言.java
abstract class クラス名{}
抽象メソッドの宣言.java
abstract 戻り値の型 メソッド名(引数の型 引数名);

特徴

⭕️スーパークラスのメソッドをサブクラスでオーバーライド(書き換え)できる。

❌クラスの多重継承できない。

❌直でインスタンス化ができない。

interface(インターフェイス) とは

クラスに含まれるメソッドの具体的な処理を記述せずに、変数とメソッドの型のみを定義したもののこと。

インターフェイスの宣言.java
interface インターフェース名{}
インターフェイスの実装.java
class クラス名 implements インターフェース名{}

特徴

⭕️メソッドの型だけ先に記述し、使用直前に処理を記述できる。

⭕️インターフェイスの多重継承OK。

イメージ

抽象クラス

孫悟空(スーパークラス)が孫悟飯(サブクラス)、孫悟天(サブクラス)の複数名に孫という苗字を引き継げる。

また、悟飯が婿入りすれば苗字が鈴木へ書き換えられる(オーバーライド)。

インターフェイス

悟空からサイヤ人、チチから地球人という仕様を悟飯が引継ぎできる。

明確な遺伝子は、直前に決めれる。

0
0
0

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