Sobes.tech
Junior — Middle

Como distinguir um método estático de um método que é chamado em um objeto específico da classe?

sobes.tech IA

Resposta da IA

No C#, um método estático é definido com a palavra-chave static e é chamado na própria classe, não numa instância do objeto.

Diferenças:

  • Método estático:

    • É declarado com static.
    • Não tem acesso aos campos e métodos não estáticos da classe.
    • É chamado pelo nome da classe: NomeDaClasse.Metodo().
  • Método de instância:

    • Não possui static.
    • É chamado num objeto específico: objeto.Metodo().

Exemplo:

class MinhaClasse
{
    public static void MetodoEstatico()
    {
        Console.WriteLine("Método estático");
    }

    public void MetodoDeInstancia()
    {
        Console.WriteLine("Método de instância");
    }
}

// Chamadas
MinhaClasse.MetodoEstatico(); // chamada ao método estático

MinhaClasse obj = new MinhaClasse();
obj.MetodoDeInstancia(); // chamada do método no objeto

Assim, a principal diferença é a forma de chamada e a presença da palavra-chave static.