Questão nº 135
Questão de Engenharia de Software · CEBRASPE TCU 25 AUFC 2025 (nº 135)
Considerando a linguagem de programação Java e a cobertura SonarQube, julgue os itens a seguir.
A linguagem Java, ao implementar o conceito de nest, permite o acesso a membros private entre nestmates nativamente pela máquina virtual, dispensando o uso de métodos sintéticos.
Resposta comentada
Nest (ou nestmates) é um recurso do Java que permite que classes que estão no mesmo "ninho" (como uma classe externa e suas classes internas) acessem membros private umas das outras diretamente, sem precisar de truques do compilador. Antes disso, o compilador criava métodos "sintéticos" (artificiais) para fazer essa ponte; agora, a JVM entende o relacionamento entre essas classes e libera o acesso nativamente.
- Correta: Certo. O Java, a partir da versão 11, implementa nestmates na própria máquina virtual, eliminando a necessidade de métodos sintéticos para acesso a membros privados entre classes do mesmo ninho.
Fica de olho: A banca pode inverter a frase dizendo que "o acesso entre nestmates ainda exige métodos sintéticos" ou que "o recurso vale para qualquer classe do projeto, mesmo sem relação de aninhamento". O segredo é lembrar: nestmates só valem para classes que são aninhadas (uma dentro da outra) e o acesso é direto na JVM, sem intermediários artificiais.
Fonte: CEBRASPE TCU 25 AUFC 2025 Auditor Federal de Controle Externo - Área de Controle Externo / Orientação: Auditoria de Tecnologia da Informação. Reproduzida para fins de estudo.