A structured collection of Java programs built while learning the fundamentals of Object-Oriented Programming.
"Learning Java, one concept at a time."
This repository documents my journey of learning Object-Oriented Programming (OOP) using Java.
Instead of only studying theory, I implemented each concept through small, focused Java programs. Every folder represents a different OOP topic, helping me build a strong foundation before moving on to larger Java applications.
One program was completed and committed every day for 12 consecutive days, reflecting consistency, discipline, and continuous learning.
- Learn Java Object-Oriented Programming from fundamentals
- Understand how classes interact in real-world applications
- Write clean, modular, and reusable Java code
- Build strong programming habits through consistent daily practice
- Prepare for advanced Java, DSA, and backend development
| Concept | Status |
|---|---|
| Classes & Objects | ✅ |
| Constructors | ✅ |
| Constructor Overloading | ✅ |
| Encapsulation | ✅ |
| Inheritance | ✅ |
| Polymorphism | ✅ |
| Abstraction | ✅ |
OOPs-With-Java/
│
├── Q01_Student_Teacher/
│
├── Q02_Bank_Account_System/
│
├── Q03_Mobile_Specification/
│
├── Q04_Employee_Management_System/
│
├── Q05_ATM_Machine/
│
├── Q06_Product_Price/
│
├── Q07_Vehicle_System/
│
├── Q08_University_System/
│
├── Q09_Method_Overloading/
│
├── Q10_Method_Overriding/
│
├── Q11_Payment_Gateway/
│
├── Q12_Shape_Area_Calculator/
│
├── assets/
│
└── README.md
| Day | Program | Concept |
|---|---|---|
| Day 1 | Student Teacher System | Classes & Objects |
| Day 2 | Bank Account System | Classes & Objects |
| Day 3 | Mobile Specification | Constructors |
| Day 4 | Employee Management System | Constructor Overloading |
| Day 5 | ATM Machine | Encapsulation |
| Day 6 | Product Price | Encapsulation & Validation |
| Day 7 | Vehicle System | Inheritance |
| Day 8 | University System | Inheritance |
| Day 9 | Method Overloading | Compile-Time Polymorphism |
| Day 10 | Method Overriding | Runtime Polymorphism |
| Day 11 | Payment Gateway | Abstraction |
| Day 12 | Shape Area Calculator | Abstraction |
Through these programs I practiced:
- Creating and using Java classes and objects
- Designing modular and reusable code
- Applying all four pillars of OOP
- Constructor overloading and method overloading
- Runtime and compile-time polymorphism
- Building clean project structures
- Developing consistency through daily coding
| Technology | Purpose |
|---|---|
| Java | Programming Language |
| OOP | Software Design Principles |
| Git | Version Control |
| GitHub | Code Hosting & Version Management |
Clone the repository
git clone https://github.com/selenophile3582/OOPs-With_Java.gitMove into the project
cd OOPs-With_JavaOpen any program folder in your preferred IDE (VS Code, IntelliJ IDEA, or Eclipse) and run the corresponding Main.java file.
This repository represents 12 consecutive days of Java practice.
Rather than solving random problems, I focused on learning one Object-Oriented Programming concept each day, implementing it in Java, and maintaining consistency through daily GitHub commits.
This repository reflects both my technical growth and my commitment to continuous learning.
- ✅ Classes & Objects
- ✅ Constructors
- ✅ Encapsulation
- ✅ Inheritance
- ✅ Polymorphism
- ✅ Abstraction
- ⏳ Java Collections Framework
- ⏳ Exception Handling
- ⏳ File Handling
- ⏳ Mini Projects
- ⏳ Advanced Java
Dhiraj Kumar
GitHub: