Até agora, trabalhamos com métodos que pertencem a instâncias de uma classe.

Agora vamos conhecer outro tipo de método:

métodos estáticos.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Entender o que são métodos estáticos
  • Diferenciar métodos estáticos de métodos de instância
  • Usar a palavra-chave static
  • Aplicar métodos estáticos em cenários reais
  • Evitar erros comuns

O que é um método estático?

Um método estático é um método que:

  • pertence à classe
  • não pertence às instâncias
  • não usa this da instância

Ou seja: ele é chamado diretamente pela classe.

Exemplo básico de método estático

 
  class Util { static somar(a, b) { return a + b; } }
  console.log(Util.somar(2, 3)); // Saída será: 5

Aqui:

  • não criamos nenhuma instância
  • o método pertence à classe Util

Tentando acessar pelo objeto

 const util = new Util(); util.somar(2, 3); // ❌ Erro 
Métodos estáticos NÃO são acessíveis pelas instâncias.

Métodos de instância vs métodos estáticos

Compare:

 
  class Exemplo { metodoInstancia() { console.log("Método da instância"); }
  static metodoEstatico() {
    console.log("Método estático");
  }
}

const obj = new Exemplo();
obj.metodoInstancia(); // ✅ funciona
Exemplo.metodoEstatico(); // ✅ funciona

obj.metodoEstatico(); // ❌ erro
Exemplo.metodoInstancia(); // ❌ erro

Quando usar métodos estáticos?

Métodos estáticos fazem sentido quando:

  • a lógica não depende de uma instância
  • a função é utilitária
  • a ação está ligada ao conceito da classe, não ao objeto

Exemplos comuns:

  • validações
  • formatadores
  • fábricas de objetos

Exemplo real — validação

 
  class Usuario { constructor(nome, email) 
  { 
    this.nome = nome; this.email = email; 
  }
  static emailValido(email) 
  {
    return email.includes("@");
  }
}

console.log(Usuario.emailValido("teste@email.com")); // Saída será: true
console.log(Usuario.emailValido("teste.com")); // Saída será: false

Observe:

  • o método não usa this
  • ele valida um dado isolado

Métodos estáticos como fábrica

Outro uso comum é criar objetos:

 
  class Usuario { constructor(nome, email) 
  { 
    this.nome = nome; this.email = email; 
  }
  static criarAdmin(nome) 
  {
    return new Usuario(nome, "admin@sistema.com");
  }
}

const admin = Usuario.criarAdmin("Daniel");
console.log(admin.nome); // Saída será: Daniel
console.log(admin.email); // Saída será: admin@sistema.com

Métodos estáticos e herança

Métodos estáticos também são herdados:

 
  class Base { static info() { return "Classe base"; } }
  class Filha extends Base {}
  console.log(Filha.info()); // Saída será: Classe base

Mas lembre-se:

Mesmo herdados, métodos estáticos continuam pertencendo à classe.

Erro comum: usar this em método estático

 static exemplo() { console.log(this.nome); // ❌ this não é uma instância } 

Aqui, this aponta para a própria classe, não para um objeto.

Ligação com tudo que você aprendeu

  • Closures → estado controlado
  • Imutabilidade → previsibilidade
  • Classes → organização
  • Campos privados → proteção
  • Métodos estáticos → utilidades e fábricas

Cada ferramenta tem seu papel.

Resumo da aula para nunca mais esquecer

  • Métodos estáticos pertencem à classe
  • Não precisam de instância
  • São chamados pela classe
  • Servem para lógica utilitária
  • Não substituem métodos de instância

Com isso, fechamos o bloco de Classes em JavaScript. A partir daqui, podemos avançar para aplicações mais arquiteturais ou projetos práticos integrando tudo.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.


O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.


Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. Saiba mais.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.