static используется в Swift для определения свойств и методов типа.
Свойства типа (Type Properties): Значение, общее для всех экземпляров типа. Доступ осуществляется через имя типа, а не через экземпляр.
swift
Методы типа (Type Methods): Методы, которые вызываются на самом типе, а не на его экземпляре.
swift
Ключевое слово class может также использоваться для создания методов типа, но между static и class есть разница:
| Особенность | static | class |
|---|---|---|
| Применимо к | Строения, классы, перечисления | Только классы |
| Переопределение | Не может быть переопределен в подклассах | Может быть переопределен в подклассах (если не помечен как final) |
static свойства и методы типа являются "финальными" по своей природе и не могут быть переопределены. class методы типа могут быть переопределены, если явно не помечены как final.