Object Oriented Programming features
- Definition
- Language structures implementing the object oriented programming (OOP) paradigm

Features
Encapsulation (Java, C++, Python, Ruby, C#) Grouping data and related functions together and hiding implementation details.
Inheritance (Java, C++, Python, Ruby) Ability of one class to inherit fields and methods from another.
Polymorphism (Java, C++, C#, Python) Treating different types through a common interface.
Mixins / Traits (Scala, Rust, Ruby, Elixir) Reusable behavior that can be included in multiple classes or modules.
Interfaces / Abstract Classes (Java, C#, TypeScript, Swift) Contracts defining method signatures to be implemented.