Object-oriented programming (OOP): OOP is a programming paradigm that uses abstraction as one of its core principles. It enables developers to model real-world entities as objects with well-defined behaviors and attributes.
Interface: An interface defines a contract for how a class should behave, specifying a set of methods that must be implemented. It allows for abstraction by separating the definition from the implementation, enabling different classes to provide their own implementations.
Polymorphism: Polymorphism refers to the ability of an object to take on many forms. In programming, it allows objects of different classes to be treated as instances of a common superclass or interface, providing flexibility and extensibility.