В чем разница между абстрактным классом и интерфейсом?
Т. е, например, класс "Карандаш". Одновременно он может быть и заколкой для волос и открывателем для пакетов, и холодным оружием-это как раз и есть интерфейс, я верно понимаю? И принцип множественного наследования интерфейсов.
PS Я имел ввиду ЯП Java и C#-думал понятия ООП универсальны.