제어문

less than 1 minute read

Whiteship 스터디 할래

8주차 과제:

whiteship08
-https://github.com/whiteship/live-study/issues/8

인터페이스 정의하는 방법

인터페이스의 정의는 클래스를 정의하는 것과 아주 비슷한데, 클래스와 비교해보자면 디폴트 메소드를 제외한 모든 메소드는 추상메소드이어야 하고 class라는 키워드만 interface로 하면 인터페이스가 된다고 보면 된다. 예를 들어 아래의 코드는 Centered 라는 이름의 인터페이스를 정의한다.

interface Centered {  
 void setCenter(double x, double y);  
 double getCenterX();  
 double getCenterY();  
}  

인터페이스의 요소들에는 몇가지 제약이 따르는데,

  • 인터페이스의 필수 메소드들은 암묵적으로 추상메소드이고 메소드 바디에 세미콜론을 포함해야 한다. abstract 제어자(modifier)를 사용할 수 있으나, 주로 생략된다.
  • 인터페이스는 public API를 정의한다. 인터페이스의 요소들은 암묵적으로 public이며 때문에 제어자(modifier)는 통상적으로 생략된다.
  • 인터페이스는 필드 내의 인스턴스를 선언하지 않는다.
  • .

인터페이스 구현하는 방법

인터페이스 레퍼런스를 통해 구현체를 사용하는 방법

인터페이스 상속

인터페이스의 기본 메소드 (Default Method), 자바 8

인터페이스의 static 메소드, 자바 8

인터페이스의 private 메소드, 자바 9