package com.study.javastudy.study;

public class MyCal implements Calculator{
    @Override
    public int plus(int i, int j) {
        return 0;
    }

    @Override
    public int multiple(int i, int j) {
        return 0;
    }

    @Override
    public int exec(int i, int j) {
        return Calculator.super.exec(i, j);
    }
}

package com.study.javastudy.study;

public interface Calculator {
    public int plus(int i, int j);
    public int multiple(int i, int j);

    default int exec(int i, int j) { // default를 붙이면 메서드를 구현할 수 있다
        return i + j;
    }

    public static int exec2(int i, int j) {
        return i * j;
    }
    static int exec3(int i, int j) {
        return i * j;
    }
}

package com.study.javastudy.study;

public class MyCalTest {
    public static void main(String[] args) {
        Calculator cal = new MyCal();
        cal.plus(3, 4);
        int i = cal.exec(5, 6);
        System.out.println(i); // 11

//        cal.exec2(3, 4); // 오류남, 인터페이스 명.exec2로 해야 사용 가능
        Calculator.exec2(3, 4);

        Calculator.exec3(3, 4);
    }
}

'자바 기초' 카테고리의 다른 글

내부 클래스(정적 중첩 클래스, static 클래스)  (0) 2024.01.29
내부 클래스(중첩 클래스, 인스턴스 클래스)  (0) 2024.01.29
인터페이스  (0) 2024.01.27
클래스 형변환  (0) 2024.01.27
오버라이딩  (0) 2024.01.27

+ Recent posts