Olá, Alvaro, como vai?
Seu código está correto e atende bem à proposta do exercício. A interface Tabuada define o contrato com o método mostrarTabuada(int numero) e a classe TabuadaMultiplicacao realiza a implementação desse comportamento utilizando o @Override, o que demonstra o uso adequado de interfaces em Java. A chamada feita na classe Main também está apropriada, instanciando a classe concreta e executando o método.
A estrutura de pacotes está organizada e o laço for utilizado para gerar a tabuada funciona conforme esperado. A multiplicação é calculada corretamente e exibida no formato adequado com System.out.println. O limite do laço indo de 0 até 10 também produz a sequência tradicional da tabuada.
Seu exercício demonstra um bom entendimento da implementação de interfaces e da separação entre contrato e comportamento. Obrigado por compartilhar sua solução.
O fórum segue à disposição para qualquer dúvida ou para compartilhar outras implementações ao longo dos estudos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!