Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Excelente código para uma primeira classe de exemplo!
Gostei muito da forma como você estruturou as chamadas no método main:
Organização Lógica: O main está limpo, instanciando as classes (Perfil, Estudos, Soma) e chamando os métodos delas sequencialmente. Isso demonstra um bom entendimento do fluxo de execução.
Demonstração de Conceitos: Você cobriu conceitos fundamentais de POO:
Criação de instâncias (new).
Chamada de métodos em objetos.
Definição de métodos auxiliares (mesmo que sejam estáticos, estão ali para ilustrar funcionalidades).
Observação sobre os métodos estáticos:
Notei que você definiu exibirMsg(), meuEstudo(), e minhaSoma() como estáticos (linhas 15, 22, 29).
No seu main (linhas 5, 8, 11), você está chamando-os via instâncias (perfil.exibirMsg(), estudos.meuEstudo(), soma.minhaSoma()).
Se os métodos são static, eles pertencem à classe, não à instância, e deveriam ser chamados diretamente pela classe (ex: PrimeiraClasse.exibirMsg()).
Para este exemplo, você tem duas opções:
Manter os métodos estáticos e mudar a chamada no main:
// Linhas 5, 8, 11
PrimeiraClasse.exibirMsg();
PrimeiraClasse.meuEstudo();
PrimeiraClasse.minhaSoma();
Remover a palavra static dos métodos auxiliares: Assim, eles se tornam métodos de instância, e a chamada via objeto (perfil.exibirMsg()) fica corretíssima.
Independentemente disso, o código está claro e cumpre o papel de mostrar como o programa se inicia e interage com outras partes. Parabéns!