【Java学習】08 interface [Java SE 11 Silver 紫本]

これまでいくつかJavaコードを書いてきましたが、interfaceは全くの初見でした。

本にはサンプルコードがなかったのでネットから適当に探してきました。

下記サンプルコードではinterfaceを使うメリットがよく分かりません。interfaceを使わない方がスッキリ書けます。開発者が初期値をinterfaceで設定しプログラマがそれに従ってコードを作成するというイメージで覚えることにしました。

以下2つのコードの内容は同じ
--------------------------------------------------
interface Calc {
    int NUM1 = 10;
    int NUM2 = 50;
 
    void calc();
}

class Add implements Calc {
    public void calc() {
        System.out.println(NUM1 + NUM2);
    }
}
 
class Sub implements Calc {
    public void calc() {
        System.out.println(NUM1 - NUM2);
    }
}
 
public class Main {
    public static void main(String[] args) {
        Add add = new Add();
        add.calc();
 
        Sub sub = new Sub();
        sub.calc();
    }
}
--------------------------------------------------
class Calc {
    int NUM1 = 10;
    int NUM2 = 50;
    public void add() {
        System.out.println(NUM1 + NUM2);
    }
    public void sub() {
        System.out.println(NUM1 - NUM2);
    }
}
 
public class Main {
    public static void main(String[] args) {
        Calc cal = new Calc();
        cal.add();
        cal.sub();
    }
}
--------------------------------------------------
出力
--------------------------------------------------
60
-40