인터페이스

자바는 순수 추상 클래스를 더 편리하게 사용할 수 있는 인터페이스라는 기능을 제공한다.

<aside> 💡 인터페이스는 class 가 아니라 interface 키워드를 사용하면 된다.

</aside>

<aside> 💡 구현하는 클래스는 implements 으로 구현을 표현

</aside>

<순수 추상 클래스>

public abstract class AbstractAnimal {
  public abstract void sound();
  public abstract void move();
}

<인터페이스>

public interface InterfaceAnimal {
  public abstract void sound();
  public abstract void move();
}

<인터페이스 - public abstract 키워드 생략 가능>(생략권장)

public interface InterfaceAnimal {
  void sound();
  void move();
}

Untitled

인터페이스의 메서드는 모두 public , abstract 이다 *생략가능(권장)

인터페이스의 멤버 변수는 public , static , final 이 모두 포함되었다고 간주된다 (=상수)

*생략가능(권장)

기본적으로 메서드에 구현부가 없지만 static메서드나 디폴트를 사용하면 만들 수는 있다(비추천)

Untitled

예제)

<인터페이스 InterfaceAnimal>

package poly.ex5;

public interface InterfaceAnimal {
   void sound(); //public , abstract생략
   void move();  //public , abstract생략
}

<인터페이스 InterfaceAnimal를 구현하는 Dog>