Абстрактный класс сожержит логику и не обязывает писать реализацию для методов т.к. может использоваться реализации родительского (абстрактного класса) в то время как интерфейс (контракт) описывает только сигнататуры методов, обязывая писать для них реализацию 💁♂