В Effective Java Джошуа Блох предпочитает интерфейсы абстрактным классам. Однако он отмечает, что скелетная реализация должна быть с каждым интерфейсом.
Я чувствую, что скелетная реализация почти такая же, как абстрактный класс. Чем отличаются эти два понятия?