A collection of beginner-to-advanced examples that demonstrate the core principles of Object-Oriented Programming (OOP) using Java.
This repository is designed to help students, beginners, and interview candidates understand, practice, and master OOP with small, practical code snippets.
- ✅ Classes & Objects
- ✅ Encapsulation
- ✅ Inheritance
- ✅ Polymorphism (Overloading & Overriding)
- ✅ Abstraction (Abstract classes & Interfaces)
- ✅ Composition, Aggregation & Association
- ✅ Static & Final usage
- ✅ Constructor Overloading
- ✅ Inner Classes
- ✅ Enums
- ✅ Interfaces & Multiple Inheritance
- ✅ Design Patterns (Singleton, Factory, Strategy, Observer)
oop-concepts-examples/ │ ├── encapsulation/ # Getters/Setters, Private fields, Immutable classes ├── inheritance/ # Parent/Child classes, Super/Override ├── polymorphism/ # Overloading, Overriding, Interfaces ├── abstraction/ # Abstract classes & methods, Interfaces ├── composition/ # HAS-A relationships (Car → Engine) ├── association/ # Teacher–Student, Department–Professors ├── static-final/ # Static methods, Constants ├── constructors/ # Constructor overloading examples ├── inner-classes/ # Static & Non-static inner classes ├── enums/ # Day, OrderStatus enums ├── interfaces/ # Multiple inheritance with interfaces └── design-patterns/ # Singleton, Factory, Strategy, Observer
git clone https://github.com/nuwanthikaishani/oop-fundamentals-java cd oop-fundamentals-java
cd src/encapsulation javac EncapsulationDemo.java java EncapsulationDemo
- ✅ Students learning Java OOP for the first time
- ✅ QA Engineers preparing for coding interviews
- ✅ Anyone who wants a quick refresher on OOP principles