Sobes.tech
Junior — Middle

Qual é a diferença entre uma variável estática e uma variável normal na programação?

sobes.tech IA

Resposta da IA

Uma variável estática difere de uma variável normal pelo facto de manter o seu valor entre chamadas de função ou durante toda a execução do programa, enquanto uma variável normal é recriada a cada chamada e destruída após sair do âmbito.

Por exemplo, em Swift, uma variável estática dentro de uma classe ou estrutura pertence ao próprio tipo, não à instância, e existe numa única instância:

class Counter {
    static var totalCount = 0
    var count = 0

    func increment() {
        count += 1
        Counter.totalCount += 1
    }
}

let a = Counter()
a.increment()
print(a.count) // 1
print(Counter.totalCount) // 1

let b = Counter()
b.increment()
print(b.count) // 1
print(Counter.totalCount) // 2

Aqui, count é uma variável de instância normal, e totalCount é uma variável estática, comum a todas as instâncias da classe.