티스토리 뷰

Tip and Error/JAVA

default & static & private

geonwoopaeng@gmail.com 2021. 4. 16. 17:19

default


  • interface에서 구현을 가지는 메서드
  • interface를 구현한 class의 instance가 생성되어야 사용 가능
  • 재정의 가능

//interface
public interface Calc {
    default void des() {
        //..
        method1();
    }

    private void method1() {
        //...
    }
}

//Test.java
public class Test {
    public static void main(String[] args) {
        Calc calc = new 하위class();

        calc.des();
    }
}

static


  • interface에서 구현을 가지는 메서드

  • instance 생성과 상관없이 사용가능

  • inplements가 되지 않더라도 interface type으로 직접 호출해서 사용가능


//interface
public interface Calc {
    static int total(int[] arr) {
        //..
        method2();
    }
    private static void method1() {
        //...
    }
}

//Test.java
public class Test {
    public static void main(String[] args) {
        int[] arr = {1,2,3};

        Calc.total(arr);
    }
}

private


  • interface를 구현한 class에서 사용하거나 재정의 할 수 없음
  • default 메서드, static 메서드에서 사용

반응형
공지사항
최근에 올라온 글