Sobes.tech
Junior — Middle

¿Cuál es la diferencia entre una variable estática y una variable normal en programación?

sobes.tech AI

Respuesta de la IA

Una variable estática se diferencia de una variable normal en que mantiene su valor entre llamadas a la función o durante toda la ejecución del programa, mientras que una variable normal se crea de nuevo en cada llamada y se destruye al salir del ámbito.

Por ejemplo, en Swift, una variable estática dentro de una clase o estructura pertenece al tipo en sí, no a una instancia, y existe en una única instancia:

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

Aquí, count es una variable de instancia normal, y totalCount es una variable estática, compartida por todas las instancias de la clase.