Наследование в объектно-ориентированном программировании (ООП) предполагает, что потомок при создании получает все свойства и методы родителя. 3 Он может использовать их все, отбросить часть или добавить новые, при этом заново прописывать эти атрибуты и методы не нужно. 6
Специализация в ООП, в свою очередь, означает, что подкласс (подмножество) класса является более специализированной абстракцией, в которой члены суперкласса могут быть дополнены, модифицированы и даже скрыты. 2
Таким образом, наследование предполагает иерархию обобщение-специализация, где суперклассы отражают наиболее общие, а подклассы — более специализированные абстракции. 2 Специализация же означает, что подкласс является подмножеством суперкласса и представляет более конкретную реализацию его членов.