Абстрактный класс – это класс, который имеет хотя бы один абстрактный (не определенный) метод и обозначается как abstract.
Интерфейс – такой же абстрактный класс, только в нем не может быть свойств и не определены тела у методов.
Кроме того, что абстрактный класс наследуется (etxends), а интерфейс реализуется (implements).
Вот и возникает разница между ними, что наследовать мы можем только 1 класс, а реализовать сколько угодно.