Logo do curso
Curso

Java:

desenvolvendo com orientação a objetos

Quero estudar na alura

16h

Para conclusão

127

Pessoas nesse curso

Certificado

De participação

Introdução_

O que você aprenderá_

  • Entenda os pilares da orientação a objetos e aplique-os na modelagem de classes de domínio.
  • Modele e relacione entidades do domínio de e‑commerce usando herança e composição.
  • Implemente tratamento de exceções para tornar a aplicação mais resiliente e previsível.
  • Utilize coleções, generics, enums e records para organizar e manipular dados de forma robusta.
  • Aplique streams e expressões lambda para processar coleções de maneira declarativa e eficiente.
  • Refatore e organize o código adotando boas práticas e separação de responsabilidades.

Público alvo_

Profissionais, estudantes e entusiastas que já sabem programar e querem aplicar Java no desenvolvimento backend, modelar domínios reais (e‑commerce), dominar OO, tratamento de erros e recursos modernos da linguagem.

Luiz Gustavo dos Santos Real

Luiz Gustavo dos Santos Real

github

linkedin

Engenheiro de Software, mestre em Ciência da Computação, com mais de 20 anos de experiência em desenvolvimento de software. Professor na FIAP e líder no SouJava, ajuda desenvolvedores a crescerem por meio de educação, mentoria e engajamento na comunidade tech.

Curso atualizado em 16/08/2026

Ementa

  1. Primeiros passos com Java

    • Apresentação
    • Por que Java?
    • JDK, JRE e JVM
    • Configurando o projeto no Intellij
    • Construindo o primeiro programa em Java
  2. Sintaxe, tipos e controle de fluxo

    • O fim do "tudo pode": tipagem estática
    • Strings imutáveis e a inferência com var
    • Operadores aritiméticos relacionais e lógicos
    • Tomando decisões: If, Else e Switch
  3. Classes, objetos e encapsulamento

    • Métodos assinatura, retorno e sobrecarga
    • Modelando domínio com classes
    • Construtores: this, getters e setters
    • Encapsulamento e modificadores de acesso
    • Membros estáticos e constantes
  4. Herança

    • Reaproveitando código com extends e super
    • Sobrescrevendo comportamento @Override e final
    • O que acontece em tempo de execução?
    • Desafio: hierarquia de usuários
  5. Interfaces, polimorfismo e composição

    • Classes abstratas: moldes que não se instanciam
    • Interfaces: contratos de capacidade
    • Polimorfismo: aplicado ao domínio
    • Desafio: lista heterogênea
    • Composição vs herança
  6. Coleções e generics

    • O mapa das coleções: List, Set e Map
    • ArrayList na prática
    • HashSet e HashMap: unicidade e busca por chave
    • Percorrendo coleções com for e for-each
    • Generics: coleções com segurança de tipos
  7. Enums, records e igualdade

    • Enums: estados com segurança
    • Enums em condicionais e coleções
    • Records: menos boilerplate para dados
    • Igualdade == vs equals e o contrato com hashCode
    • toString: objetos que se explicam
  8. Exceptions e tratamento de erros

    • O mecanismo de exceptions
    • Try-catch e finally na prática
    • Try-with-resources: recursos sem vazamento
    • Exceptions de domínio e boas práticas
  9. Programação funcional: lambdas, streams e Optional

    • Lambdas: as arrow functions do Java
    • Streams: map e filter em coleções de domínio
    • Collect e operações terminais
    • Optional: lidando com a ausência de valor
    • Conclusão

Descubra se esse curso é pra você! Leia as primeiras aulas

Comece essa formação agora mesmo e capacite-se para seu próximo projeto!

Conheça os planos

Pessoas estudando esse curso nesse mês:

Estude com elas

e mais 91 pessoas

Faça parte da nossa comunidade no discord!

Troque conhecimentos com a comunidade da Alura

Aprenda Java com esse e outros cursos, comece agora!

Conheça os Planos para Empresas