인터페이스와 추상클래스의 차이점

인터페이스

차이점

인터페이스에 선언된 메소드는 무조건 구현해야 한다.
자바 8부터 default 키워드를 붙이면 구현이 가능하다.
클래스가 아니다.
다중상속이 가능하다.

용도

선언된 메소드는 반드시 존재하도록 강제하는 용도로 쓰인다.

추상클래스

차이점

abstract 키워드가 붙은 메소드를 하나 이상 존재하는 클래스를 말한다. (일부는 구현되어 있고, 일부는 구현되지 않을 수 있다)
상속을 통해서 자식 클래스에서 구현하도록 유도하는 클래스이다.
클래스이다.
다중상속은 불가능하다.

용도

자식 클래스에게 구현하도록 책임을 위 임하는 용도로 쓰인다. (상속을 받아서 확장하는 용도)
TOP