A Java console-based ATM simulation built with multiple account classes and object-oriented design.
The program creates a set of accounts, lets the user choose an account by id, and supports checking balances, withdrawing, depositing, and viewing account information.
- Creates multiple account objects
- Supports savings accounts and current accounts
- Allows deposits and withdrawals
- Enforces a minimum balance for savings accounts
- Supports overdraft behavior for current accounts
- Uses a menu loop so users can switch between accounts
- Includes a UML diagram for the class structure
- Java
- Object-oriented programming
- Classes and objects
- Inheritance
- Method overriding
- ArrayList usage
- Menu-driven console programs
- UML/design planning
Compile the Java files:
javac *.javaRun the ATM program:
java AtmThis project helped me understand how real-world systems can be modeled with related classes. It also helped me practice separating shared account behavior from specialized account rules.