A beginner-friendly and real-world style ATM Simulation System built using Core Java and Object-Oriented Programming (OOP) principles.
This project simulates basic ATM operations such as secure login using Account Number + PIN, balance inquiry, deposit, withdrawal, and PIN change.
- Multiple account support
- Login using Account Number + PIN
- Check account balance
- Deposit money
- Withdraw money
- Change PIN
- Withdrawal limit validation
- Input validation using try-catch
- Beginner-friendly modular code structure
- Core Java
- OOP Concepts
- Java Packages
- Exception Handling
- Console-Based Application
ATM-Simulation-System/ │ ├── interfaces/ │ └── ATMService.java │ ├── models/ │ ├── BankAccount.java │ └── SavingAccount.java │ ├── services/ │ └── ATMServiceImpl.java │ └── ATMApp.java
Used through the ATMService interface.
Used in the BankAccount class with private fields like:
- accountNumber
- balance
- pin
SavingAccount extends BankAccount.
ATMService reference is used with ATMServiceImpl object.
Example:
ATMService atm = new ATMServiceImpl(selectedAccount);