Note
Para ter a experiência completa da aplicação, sugiro que utilize um console que imprima cores (como o git bash ou o console do Eclipse).
Esta aplicação foi feita como parte do curso "Java completo: Programação Orientada a Objetos + Projetos" e foi feita em aproximadamente 6 horas. Os principais tópicos que foram aprimorados durante o projeto foram:
- Associations - Exceptions
- Encapsulation / Access Modifiers - Static members
- Inheritance - Layers pattern
- Overriding - Abstract method / class
- Polymorphism - List