Java

인터페이스 - private 메소드

공부처음하는사람 2024. 7. 1. 23:51
package ch08.sec07;

public interface Service {

    // default method
    default void defaultMethod1() {
        System.out.println("defaultMethod1 종속 코드");
        defaultCommon();
    }

    default void defaultMethod2() {
        System.out.println("defaultMethod2 종속 코드");
        defaultCommon();
    }

    // private method
    private void defaultCommon() {
        System.out.println("defaultMethod 중복코드 A");
        System.out.println("defaultMethod 중복코드 B");
    }

    // static method
    static void staticMethod1() {
        System.out.println("staticMethod1 종속 코드");
        staticCommon();
    }

    static void staticMethod2() {
        System.out.println("staticMethod2 종속 코드");
        staticCommon();
    }

    private static void staticCommon() {
        System.out.println("staticMethod 중복코드 C");
        System.out.println("staticMethod 중복코드 D");

    }
}

 

private 메소드는 디폴트 메소드 안에서만 호출이 가능

private static 메소드는 디폴트 메소드와 정적 메소드 안에서도 호출 가능

private 메소드의 용도는 default 와 static 메소드의 중복코드를 줄이기 위해서 사용한다.

 

위 코드에선 private 메소드는 결국 public인 default 메소드나 static 메소드에서 호출해서 사용하게 되는 용도로 작성된 것

 

'Java' 카테고리의 다른 글

로컬 클래스 / 바깥 클래스  (0) 2024.07.06
중첩 클래스 / 인스턴스 멤버 클래스 / 정적 멤버 클래스  (0) 2024.07.05
싱글톤  (0) 2024.06.23
Getter / Setter  (0) 2024.06.23
이것이 자바다 - 클래스(2)  (0) 2024.06.21