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