Um método Static é simplesmente um método que pertence à classe e não a uma instância dela.
A diferença entre um método normal (não estático) e Static :
- Método normal (não estático): Precisa criar um objeto da classe para usar.
- Método estático: Chama-se direto pela classe, sem precisar instanciar.
Exemplo da diferença usando Static :
class Calculadora
{
// Método estático
public static int Somar(int a, int b)
{
return a + b;
}
}
Uso :
int resultado = Calculadora.Somar(5, 3);
Console.WriteLine(resultado); // Saída: 8
(No uso, não precisa criar New Calculadora(). Chama-se direto Calculadora.Somar(...))
E não usando static:
class Somar
{
// Método de instância → precisa de objeto
public int Executar(int a, int b)
{
return a + b;
}
}
Uso :
// Criando um objeto da classe Somar
Somar soma = new Somar();
// Chamando o método de instância
int resultado = soma.Executar(5, 3);
Console.WriteLine($"Resultado da soma: {resultado}"); //Saida: 8
- Estático (static) → chamado direto pela classe (Calculadora.Somar), não precisa criar objeto.
- Instância (não static) → precisa criar um objeto (new Calculadora()) para chamar (calc.Multiplicar).
Resumo :
Static = não precisa de objeto, pertence à classe.
Usado para funções utilitárias, helpers ou operações que não dependem de dados específicos de uma instância.