# OOP Concepts — designpattern.fyi

> Fundamental Object-Oriented Programming concepts and principles

- **Section**: OOP Concepts
- **Canonical URL**: https://designpattern.fyi/oop_concepts/

---

## Patterns in this Category


### [Abstraction](https://designpattern.fyi/oop-concepts/abstraction/)
- **Summary**: Expose what a thing does, hide how it does it — callers work through the interface without knowing the implementation.
- **Subcategory**: principles


### [Classes and Objects](https://designpattern.fyi/oop-concepts/classes-and-objects/)
- **Summary**: A class is the blueprint; objects are the live instances — each with its own state, all sharing the same behavior.
- **Subcategory**: fundamentals


### [Encapsulation](https://designpattern.fyi/oop-concepts/encapsulation/)
- **Summary**: Hide internal state behind controlled access — expose methods, not fields, so nothing outside the class can corrupt the object&#39;s integrity.
- **Subcategory**: principles


### [Inheritance](https://designpattern.fyi/oop-concepts/inheritance/)
- **Summary**: Child classes acquire their parent&#39;s properties and methods — specialize and extend rather than duplicate.
- **Subcategory**: relationships


### [Polymorphism](https://designpattern.fyi/oop-concepts/polymorphism/)
- **Summary**: Different objects, same call — code written against a shared interface works with any implementation without knowing the specific type.
- **Subcategory**: relationships



---

## Machine-Readable Resources
- **JSON Feed**: https://www.designpattern.fyi/api/patterns.json
- **OpenAPI 3.1**: https://www.designpattern.fyi/api/openapi.json
- **llms.txt**: https://www.designpattern.fyi/llms.txt
