К какому типу данных относится класс в Swift?

«К какому типу данных относится класс в Swift?» — вопрос из категории ООП, который задают на 22% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Класс в Swift — это ссылочный тип (reference type).

Ключевые характеристики:

  • При присваивании экземпляра класса новой переменной или передаче в функцию копируется ссылка на один и тот же объект в памяти.
  • Несколько ссылок указывают на один экземпляр. Изменения, сделанные через одну ссылку, видны через все остальные.
  • Управление памятью осуществляется через ARC (Automatic Reference Counting).
  • Поддерживает наследование.

Пример, демонстрирующий ссылочную семантику:

class Vehicle {
    var speed: Int = 0
}

let car1 = Vehicle()
car1.speed = 100
let car2 = car1 // car2 — ссылка на тот же объект, что и car1
car2.speed = 200

print(car1.speed) // Вывод: 200. Изменение через car2 затронуло car1.