Oi, Weid! Como vai?
Do jeito que você explicou, chamou atenção como você separou bem as responsabilidades usando interface e implementação, deixando claro o papel do Relatorio e da classe Imprimivel.
Uma dica interessante para o futuro é explorar polimorfismo usando a interface como tipo de referência, o que facilita trocar implementações sem mudar o restante do código. Veja este exemplo:
Relatorio relatorio = new Imprimivel("Relatorio 2026", "Tudo funcionando conforme esperado");
relatorio.imprimir();
Esse código cria um objeto concreto, mas o utiliza através da interface, deixando o código mais flexível para futuras extensões.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!