Java에서 인터페이스의 특징이라면 추상화보다는 더 설계적 기능을 강조하고 있다는 것과 다중 상속이 가능하다는 것입니다. 여기서 더 설계적이라는 뜻은 추상화의 경우 추상 메소드 이외의 일반 메소드 및 변수를 포함할 수 있지만 인터페이스의 경우 정말 추상 메소드와 상수만을 포함할 수 있다는 것입니다. 위 예와 같이 인터페이스에서는 추상 메소드는 에러가 뜨지 않지만 일반 메소드 Howling() 밑에는 빨간색 줄(에러)이 뜨는 것을 볼 수 있습니다. (*Java 8을 기준으로 default 메소드가 사용가능해지면서 예를 들어 default void Howling(){ System.out.println("왈왈"); } 위와 같이 default를 사용해준다면 인터페이스에서도 메소드의 내용을 채울 수 있게 되었습..