class - a blueprint or template defining the structure and behavior of objects
object - an instance of a class representing a specific identity
encapsulation - bundling data and methods witihin a class, restricting direct access to data using access modifiers (public, private, protected).
inheritance - mechanism where a class inherits properties and methods of another class.
polymorphism - it means many forms. it means when methods of a class can morph into a different function with the help of inheritence: method overloading and overriding.
Abstraction - hiding complex implementation details and exposing only necessary features. implemented using abstract class and interfaces.
Decomposition - process of breaking a complex system into more maneagable and simple parts.
Abstraction Mechanism - techniques to achieve abstraction
parameterization - making a component accepts parameters.
specification - defining behavior and properties of a component.