POO em Java
Conceitos fundamentais de programação orientada a objetos em Java para estudantes e desenvolvedores.
Cartões · 54
- Classe
- Molde ou modelo que define atributos e comportamentos comuns a todos os objetos daquele tipo.
- Objeto
- Instância concreta de uma classe que possui estado e comportamento no tempo de execução.
- Instanciação
- Processo de alocação de memória e criação de um novo objeto usando a palavra-chave new.
- Atributo
- Variável pertencente a uma classe ou objeto que armazena seu estado ou características.
- Método
- Bloco de código que define o comportamento ou ação que um objeto pode executar.
- Encapsulamento
- Pilar da POO que esconde os detalhes internos de um objeto, expondo apenas operações seguras.
- Modificador private
- Restringe o acesso ao membro apenas de dentro da própria classe onde foi declarado.
- Modificador public
- Permite que o membro ou classe seja acessado de qualquer outro ponto do programa.
- Modificador protected
- Permite acesso dentro do mesmo pacote e por subclasses em outros pacotes.
- Modificador padrão (package-private)
- Aplica-se na ausência de modificador; restringe o acesso exclusivamente a classes do mesmo pacote.
- Métodos Getters e Setters
- Métodos públicos que controlam, respectivamente, a leitura e a modificação de atributos privados.
- Construtor
- Método especial com o mesmo nome da classe chamado na instanciação para inicializar o objeto.
- Construtor padrão
- Construtor sem argumentos gerado automaticamente pelo compilador caso nenhum outro seja definido.
- Palavra-chave this
- Referência que aponta para a própria instância do objeto atual que está executando o método.
- Herança
- Mecanismo que permite a uma classe reutilizar e estender atributos e métodos de outra classe.
- Palavra-chave extends
- Palavra reservada usada para indicar que uma subclasse herda de uma superclasse.
- Superclasse
- Classe mãe que fornece características e comportamentos a uma ou mais subclasses.
- Subclasse
- Classe filha que herda e estende o comportamento e o estado de uma superclasse.
- Palavra-chave super
- Referência usada na subclasse para invocar construtores ou métodos da superclasse imediata.
- Herança simples
- Regra em Java onde cada classe só pode estender diretamente uma única superclasse.
- Polimorfismo
- Capacidade de tratar objetos de diferentes classes derivadas através de uma interface ou tipo comum.
- Sobrecarga de método (Overload)
- Múltiplos métodos com o mesmo nome na mesma classe, mas com assinaturas de parâmetros diferentes.
- Sobrescrita de método (Override)
- Redefinição na subclasse de um método já existente na superclasse, mantendo a mesma assinatura.
- Anotação @Override
- Instrui o compilador a validar se o método está de fato sobrescrevendo um método herdado.
- Ligação dinâmica (Dynamic Binding)
- Resolução da versão correta de um método sobrescrito em tempo de execução, baseada no tipo real do objeto.
- Abstração
- Pilar da POO que foca nas características essenciais de uma entidade, ignorando detalhes irrelevantes.
- Classe abstrata
- Classe marcada com abstract que não pode ser instanciada diretamente e pode conter métodos abstratos.
- Método abstrato
- Método sem corpo declarado em classe abstrata, cuja implementação é obrigatória nas subclasses concretas.
- Interface
- Contrato puramente abstrato que especifica quais métodos uma classe deve implementar.
- Palavra-chave implements
- Palavra reservada usada por uma classe para indicar que cumprirá o contrato de uma interface.
- Método default em interface
- Método com corpo padrão dentro de uma interface que permite retrocompatibilidade sem quebrar implementações.
- Múltiplas interfaces
- Recurso que permite a uma única classe em Java implementar duas ou mais interfaces simultaneamente.
- Classe Object
- Superclasse raiz universal em Java da qual todas as outras classes herdam direta ou indiretamente.
- Método toString()
- Método de Object que retorna uma representação textual legível do estado do objeto.
- Método equals()
- Método de Object usado para comparar a igualdade lógica de conteúdo entre dois objetos.
- Método hashCode()
- Retorna um valor numérico inteiro que representa o objeto em estruturas baseadas em hash como HashMap.
- Contrato equals e hashCode
- Regra que exige que objetos considerados iguais por equals() devem retornar o mesmo valor de hashCode().
- Operador ==
- Compara se duas referências apontam para o mesmo endereço de memória, e não o valor interno.
- Palavra-chave static em atributos
- Define que o atributo pertence à própria classe e é compartilhado por todas as instâncias.
- Palavra-chave static em métodos
- Permite executar o método diretamente pela classe sem a necessidade de instanciar um objeto.
- Palavra-chave final em variáveis
- Transforma a variável em constante ou referência imutável após sua primeira atribuição.
- Palavra-chave final em métodos
- Impede que o método seja sobrescrito por qualquer subclasse.
- Palavra-chave final em classes
- Impede completamente que a classe seja herdada por outra classe.
- Associação
- Relação genérica entre classes em que uma classe apenas faz uso de outra.
- Agregação
- Relação onde um objeto faz parte de outro, mas ambos têm ciclos de vida independentes.
- Composição
- Relação forte de posse onde a existência do objeto dependente é atrelada ao ciclo de vida do pai.
- Upcasting
- Conversão segura e automática de uma referência de subclasse para uma de superclasse.
- Downcasting
- Conversão explícita de uma referência de superclasse para um tipo de subclasse mais específico.
- Operador instanceof
- Verifica em tempo de execução se um determinado objeto pertence a uma classe ou tipo específico.
- ClassCastException
- Exceção lançada ao tentar fazer downcasting incompatível entre referências em tempo de execução.
- Imutabilidade
- Princípio em que o estado de um objeto não pode ser alterado após ter sido instanciado.
- Record
- Tipo especial de classe em Java moderno voltado para transportar dados imutáveis com sintaxe enxuta.
- Injeção de Dependência
- Técnica em que as dependências de um objeto são fornecidas externamente em vez de criadas internamente.
- Garbage Collector
- Processo automático da JVM que identifica e descarta objetos sem referências ativas para liberar memória.