자바는 순수 추상 클래스를 더 편리하게 사용할 수 있는 인터페이스라는 기능을 제공한다.
<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();
}

인터페이스의 메서드는 모두 public , abstract 이다 *생략가능(권장)
인터페이스의 멤버 변수는 public , static , final 이 모두 포함되었다고 간주된다 (=상수)
*생략가능(권장)
기본적으로 메서드에 구현부가 없지만 static메서드나 디폴트를 사용하면 만들 수는 있다(비추천)

예제)
<인터페이스 InterfaceAnimal>
package poly.ex5;
public interface InterfaceAnimal {
void sound(); //public , abstract생략
void move(); //public , abstract생략
}
<인터페이스 InterfaceAnimal를 구현하는 Dog>