Skip to content

selenophile3582/OOPs-With_Java

Repository files navigation

☕ Object-Oriented Programming with Java

Object Oriented Programming with Java Banner

A structured collection of Java programs built while learning the fundamentals of Object-Oriented Programming.

Java OOP Git GitHub

"Learning Java, one concept at a time."


📖 About

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.


🎯 Learning Goals

  • 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

🧠 OOP Concepts Covered

Concept Status
Classes & Objects
Constructors
Constructor Overloading
Encapsulation
Inheritance
Polymorphism
Abstraction

📂 Repository Structure

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

📚 Programs Included

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

🚀 Key Takeaways

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

💻 Technologies Used

Technology Purpose
Java Programming Language
OOP Software Design Principles
Git Version Control
GitHub Code Hosting & Version Management

▶️ Getting Started

Clone the repository

git clone https://github.com/selenophile3582/OOPs-With_Java.git

Move into the project

cd OOPs-With_Java

Open any program folder in your preferred IDE (VS Code, IntelliJ IDEA, or Eclipse) and run the corresponding Main.java file.


📈 Learning Journey

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.


🛣️ Roadmap

  • ✅ Classes & Objects
  • ✅ Constructors
  • ✅ Encapsulation
  • ✅ Inheritance
  • ✅ Polymorphism
  • ✅ Abstraction
  • ⏳ Java Collections Framework
  • ⏳ Exception Handling
  • ⏳ File Handling
  • ⏳ Mini Projects
  • ⏳ Advanced Java

🤝 Connect With Me

Dhiraj Kumar

GitHub:

https://github.com/selenophile3582


🌱 Learning never stops.

"Every expert was once a beginner who chose to stay consistent."

About

A structured collection of 12 Java programs demonstrating the core principles of Object-Oriented Programming through practical examples.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages