더북(TheBook)

다음 메서드 헤더를 가진 인터페이스를 선언하자.

public interface IntSequence {

    boolean hasNext();

    int next();

}


이 메서드들을 구현할 필요는 없지만, 원한다면 기본 구현을 작성할 수도 있다(3.2.2 기본 메서드 참고). 기본 구현을 작성하지 않고 선언만 한 메서드를 추상(abstract) 메서드라고 한다.

Note ≣

인터페이스의 모든 메서드는 자동으로 public이 된다. 그러므로 hasNextnextpublic으로 선언할 필요 없다. 일부 프로그래머는 의도를 더 명확하게 드러내려고 public으로 선언하기도 한다.


인터페이스의 메서드로도 average 메서드를 구현할 수 있다.

public static double average(IntSequence seq, int n) {

    int count = 0;

    double sum = 0;

    while (seq.hasNext() && count < n) {

        count++;

        sum += seq.next();

    }

    return count = = 0 ? 0 : sum / count;

}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.