משתנה סטטי

במדעי המחשב, משתנה סטטי (באנגלית: Static variable) הוא משתנה שהוקצה על ידי הקומפיילר במקום קבוע. "משך החיים" שלו הוא כאורך כל ריצת התוכנית. זאת בניגוד למשתנים אוטומטיים שמאוחסנים בדרך כלל במחסנית הקריאות. כמו כן, הוא שונה מעצמים שמוקצים באופן דינאמי בערימה (Heap). 

משתנה סטטי הוא משתנה ששייך למחלקה כלשהי. לכן, אין צורך וסיבה ליצור אובייקטים מסוג המחלקה על מנת לגשת אליו. שימוש נפוץ במשתנים סטטיים הוא ספירת העצמים שנוצרו מסוג המחלקה.

דוגמה 
להלן קטע קוד ב-C# שבו נעשה שימוש במשתנים סטטיים על מנת לצבור את כמות האנשים:

class Person
{
 // static variable
 public static count;
 
  // fields
 private string name;
 
 public Person(string name)
 {
 this.name = name;
 count++;
 }
 
 public string GetName()
 {
 return this.name;
 }
}

static void Main(string[] args)
{
 // you need to write the class's name in order to access the static variable
 Person.count = 0;
 
 Person p1 = new Person("Bob");
 // Person.count = 1
 Person p2 = new Person("Alice");
 // Person.count = 2
 
}

ראו גם 
 גוש סטטי

מדעי המחשב
תכנות