Инкапсуляция - это принцип размещения данных и методов работы с этими данными в одном объекте. Разграничение доступа к этим данным посредством спец. флагов(ключевых слов).
Свойства и методы доступны только из нутри класса, снаружи их можно изменять/вызывать через другие методы(функции) класса
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
}
}