0. 인터페이스란?


인터페이스는 일종의 추상클래스로 추상메소드, 상수만 포함 가능

💡 자바 8 부터 default 메소드, static 메소드를 인터페이스의 멤버로 사용가능

추상 클래스처럼 new 를 이용한 객체생성을 할 수 없다.

1. 인터페이스를 쓰는 이유


그렇다면 추상 클래스를 사용하지 않고 인터페이스를 쓰는 이유가 무엇일까?

인터페이스는 추상 클래스 보다 더 추상적인 개념이다.

추상 클래스는 구현 메서드도 포함을 할 수 있어 확장의 개념이라면

인터페이스는 구현 코드가 없어 기능 구현을 강제한다.

추상 클래스는 다중상속을 지원하지 않지만 인터페이스는 다중상속이 가능하다.