Skip to content

GuiMRDS/BancoDigitalJava

Repository files navigation

🏦 Banco Digital Java

Sistema de banco digital desenvolvido em Java, com operações bancárias completas via terminal. Projeto de estudo pessoal com foco na prática de Programação Orientada a Objetos, aplicando herança, polimorfismo e interfaces em um cenário real e funcional.


🎯 Objetivo

Consolidar os fundamentos do Java através de um projeto prático que simula o funcionamento de um banco digital — desde a criação de contas até operações financeiras como depósito, saque, transferência e consulta de extrato.


✅ Funcionalidades

  • 🏷️ Criação de conta corrente e conta poupança
  • 💰 Depósito de valores
  • 💸 Saque com validação de saldo
  • 🔄 Transferência entre contas
  • 📄 Consulta de extrato com histórico de operações
  • 🖥️ Menu interativo via terminal para navegação entre as opções

🏗️ Arquitetura e Conceitos Aplicados

O projeto foi estruturado com foco em boas práticas de Programação Orientada a Objetos:

Conceito Aplicação no projeto
Herança ContaCorrente e ContaPoupanca herdam de uma classe base Conta
Polimorfismo Operações bancárias tratadas de forma genérica via referência da superclasse
Interfaces Contrato comum para definir o comportamento das operações financeiras
Tratamento de exceções Validações de saldo insuficiente, conta inexistente e entradas inválidas
Encapsulamento Atributos privados com acesso controlado via getters/setters

🗂️ Estrutura do Projeto

BancoDigitalJava/
├── src/
│   ├── model/
│   │   ├── Conta.java               # Classe base abstrata
│   │   ├── ContaCorrente.java       # Conta corrente (herda Conta)
│   │   └── ContaPoupanca.java       # Conta poupança (herda Conta)
│   ├── service/
│   │   └── Banco.java               # Regras de negócio e gerenciamento de contas
│   ├── interfaces/
│   │   └── IConta.java              # Interface com contrato das operações
│   └── Main.java                    # Menu interativo e ponto de entrada
└── README.md

🛠️ Tecnologias Utilizadas

Tecnologia Uso
Java Linguagem principal de desenvolvimento
POO Herança, polimorfismo, interfaces e encapsulamento
Scanner Entrada de dados via terminal
Git / GitHub Versionamento de código

🚀 Como Executar

Pré-requisitos

  • JDK 11+ instalado
  • Terminal ou IDE (IntelliJ IDEA, Eclipse, VS Code)

Passo a passo

1. Clone o repositório

git clone https://github.com/GuiMRDS/BancoDigitalJava.git
cd BancoDigitalJava

2. Compile o projeto

javac -d bin src/**/*.java src/Main.java

3. Execute

java -cp bin Main

Ou abra o projeto diretamente na sua IDE e execute a classe Main.java.


🖥️ Exemplo de Uso

===========================
    🏦 BANCO DIGITAL
===========================
1 - Criar Conta Corrente
2 - Criar Conta Poupança
3 - Depositar
4 - Sacar
5 - Transferir
6 - Extrato
0 - Sair
===========================
Escolha uma opção: _

📚 O que foi Praticado

  • Criação de hierarquia de classes com herança e sobrescrita de métodos
  • Definição e implementação de interfaces como contrato de comportamento
  • Uso de polimorfismo para tratar diferentes tipos de conta de forma genérica
  • Tratamento de exceções para garantir robustez nas operações
  • Organização do código em pacotes (model, service, interfaces)
  • Menu interativo no terminal com controle de fluxo e validação de entrada

👨‍💻 Autor

Guilherme Marinho

LinkedIn GitHub Email


📄 Licença

Este projeto foi desenvolvido para fins de estudo e prática de Java.

About

Sistema de banco digital em Java com conta corrente, poupança, depósito, saque, transferência e extrato. Projeto de estudo com foco em POO, herança, polimorfismo e interfaces.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages