Инкапсуляция - это принцип размещения данных и методов работы с этими данными в одном объекте. Разграничение доступа к этим данным посредством спец. флагов(ключевых слов).
Свойства и методы доступны только из нутри класса, снаружи их можно изменять/вызывать через другие методы(функции) класса
class Wallet { var balance = 0 }
Без инкапсуляции
var wallet = Wallet() wallet.balance = -5000 // что не должно быть так
С инкапсуляцией
class Wallet { private var balance = 0 func add(cash: Int) { self.balance = +=cash } func getBallance()-> Int { return self.balance } }