A comprehensive banking simulation application developed as a final project for the Object-Oriented Programming (OOP) course. This project demonstrates the practical application of software design principles through a functional financial management system.
The OOP Finals Bank App is designed to mimic the core functionalities of a modern banking system. It allows for user authentication, account creation, and various financial transactions while maintaining a clean, modular code structure.
The primary goal of this project was to implement the four pillars of OOP:
- Encapsulation: Protecting user data and account balances through private modifiers and controlled accessors.
- Inheritance: Utilizing a hierarchical structure where specific account types (e.g., Savings, Current) inherit from a base Account class.
- Polymorphism: Overriding methods to handle different transaction rules and interest calculations dynamically.
- Abstraction: Using abstract classes or interfaces to define essential banking behaviors without exposing complex internal logic.
- User Authentication: Secure login system for bank clients and administrators.
- Account Diversity: Support for multiple account types, each with unique interest rates and withdrawal limits.
- Transaction Engine: * Deposits: Add funds to specific accounts.
- Withdrawals: Securely remove funds with balance validation.
- Transfers: Move money between accounts seamlessly.
- History Logs: Keeps a record of all previous transactions for user review.
- Input Validation: Robust error handling to prevent invalid data entry or overdrafts.
| Component | Technology |
|---|---|
| Language | Java / C# / C++ (Update based on your code) |
| Paradigm | Object-Oriented Programming |
| Environment | Console Application / GUI |
| Tools | Android Studio / Visual Studio / IntelliJ |
- Installed SDK for the chosen language (e.g., JDK for Java, .NET for C#).
- A compatible IDE.
- Clone the repository:
git clone [https://github.com/klwkn/OOPFInalsBankApp.git](https://github.com/klwkn/OOPFInalsBankApp.git)