Object-oriented programming (OOP) concepts are something which are fundamentals of any Object-oriented programming language. These concepts give you the power to structure your code in such a way that it’s well optimized, reusable, efficient, future proof and much more.
The basic concepts of Object-oriented programming are,
- Abstraction
- Encapsulation
- Dependency
- Association
- Composition
- Aggregation
- Inheritance
- Extensibility
- Run-Time Polymorphism (RTP)
- Substitutability
- Overriding
- Packaging
Please note that these concepts are not language specific but applies to all object oriented programming languages.
These concepts are well explained in the below presentation.