Oii, Gabriel! Meus parabéns por mais um desafio concluído com sucesso.
Sua implementação demonstra que você compreendeu muito bem os fundamentos do encapsulamento e o uso de construtores. Ao criar o método exibirCarro() dentro da própria classe Carro, você aplicou um princípio importante da Orientação a Objetos: a classe é responsável por gerenciar e exibir seus próprios dados, o que deixa a classe Main muito mais limpa e organizada.
O uso do System.out.printf com os marcadores %s também foi uma escolha excelente, pois facilita a formatação do texto e torna a leitura do código mais agradável.
Para enriquecer sua jornada, vale notar que você utilizou this.getModelo() dentro do método de exibição. Como o método está na própria classe onde os atributos foram definidos, você também poderia acessar os campos diretamente (ex: this.modelo), mas manter o uso do getter é uma prática que garante que qualquer lógica futura adicionada ao método de acesso seja respeitada.
Você notou como o uso do construtor impede que um carro seja criado sem uma placa ou um modelo, evitando erros de dados incompletos no sistema da oficina?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!