新人研修2024 No.41

こんにちは、ヒロイです。

外部研修21日目です。

本日はJavaの「インターフェース」について学びました。

「新人研修2024 No.37」でメソッドについて説明しました。
インターフェースとはメソッドの処理内容を具体的に書かず、変数やメソッドの型のみを定義したものです。
例として、動物のインターフェースanimalsに鳴くというメソッドbark()を定義するとコードは以下の通りになります。
public interface animals{
 public void bark();
}

犬クラスでインターフェースを実装し、鳴き声を表示をさせるとコードは以下のとおりになります。
public class Dog implements animals{
 @Override
 public void bark(){
  System.out.println("ワン");
 }
}

mainメソッドでDogクラスのオブジェクトを作成し、そのオブジェクトを元にbark()を呼び出すと表示結果は「ワン」となります。
ここまでの流れを見ると前日に学んだ「抽象クラス」と同じことをしていると思うかもしれません。
ですが、抽象クラスはアクセス修飾子がprivateやprotected、インターフェースはpublicとなるので使える範囲が変わります。
また、インターフェースは多重継承(複数のインタフェースを継承)ができるため、子クラスに機能の追加が容易です。

どちらも複数人開発の際に扱うとより違いがわかったり、恩恵が分かったりするのかもしれません。
学んだことを業務で使用した時に"そういう意味だったのか"と思えるように今後も理解を深めていきます。

ご覧いただきありがとうございました。
次回のブログもよろしくお願いします。