Este projeto implementa um sistema bancário digital utilizando Java, seguindo os princípios da Programação Orientada a Objetos (POO). O sistema oferece aos clientes funcionalidades básicas de operações bancárias, incluindo a criação de contas correntes e poupança, depósito, saque e transferência entre contas. O projeto foi desenvolvido usando o Apache Maven como ferramenta de gerenciamento de dependências e construção de projeto, e inclui a biblioteca Lombok para reduzir a verbosidade do código.
- Banco: Gerencia clientes e contas.
- Cliente: Representa um cliente do banco.
- Conta: Classe abstrata representando uma conta bancária genérica, com métodos para depósito, saque e transferência.
- ContaCorrente: Subclasse de Conta específica para contas correntes.
- ContaPoupanca: Subclasse de Conta específica para contas poupança.
- Transacao: Representa uma transação bancária (não utilizada diretamente no fluxo principal do programa).
Banco.java: Gerencia a lista de clientes e contas do banco, permitindo a adição de novos clientes e contas, além de buscar contas pelo número.
Cliente.java: Representa um cliente com um nome. Utiliza Lombok para geração automática de getters, setters e outros métodos utilitários.
Conta.java: Classe abstrata que define as operações comuns para todas as contas, como depósito, saque e transferência. Inclui um número de conta sequencial e saldo.
ContaCorrente.java e ContaPoupanca.java: Implementações específicas de Conta para contas correntes e poupança, respectivamente.
Main.java: Classe principal que fornece uma interface de linha de comando para o usuário interagir com o sistema bancário. Permite criar um cliente, escolher o tipo de conta, e realizar operações como depósito, saque e transferência.
Para compilar e executar o projeto, siga os comandos abaixo:
- Compile o projeto:
mvn clean compile
- Execute o projeto:
mvn exec:java -Dexec.mainClass="com.bancopoojava.Main"