📚 Library Management System (OOP‑Based) A simple Library Management System implemented using core Object-Oriented Programming (OOP) concepts in Java. This project demonstrates how real‑world library operations can be modeled using classes, objects, inheritance, polymorphism, abstraction, and encapsulation.
🚀 Features Add new books
Search books
Delete books
Add members (Students / Teachers)
Calculate fine using polymorphism
Clean OOP architecture
Console‑based interaction
🧠 OOP Concepts Used
- Encapsulation Book details (title, author, isbn, isAvailable) are private
Accessed/modified only through methods
-
Inheritance Student and Teacher classes inherit from the base class Member
-
Polymorphism Both Student and Teacher override calculateFine() with different logic
-
Abstraction Member is an abstract class
Forces child classes to implement calculateFine()
- Aggregation Library contains a list of Book and Member objects
🏗️ Class Structure 📘 Book Class Represents a book in the library. Stores details like title, author, ISBN, and availability.
👤 Member (Abstract Class) Base class for all members. Contains:
Name
Member ID
Abstract method calculateFine()
🎓 Student & 👨🏫 Teacher Child classes of Member. Each has its own fine calculation logic.
🏛️ Library Class Manages:
Adding books