Что такое инкапсуляция

«Что такое инкапсуляция» — вопрос из категории Архитектура, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Инкапсуляция — это принцип ООП, который объединяет данные и методы работы с ними в единый компонент (структуру в Go), скрывая внутреннюю реализацию от внешнего кода. В Go инкапсуляция достигается через именование: поля и методы с маленькой буквы — приватные (доступны только внутри пакета), с большой — публичные.

type Wallet struct {
    balance int // приватное поле
}

// Публичный метод для пополнения
func (w *Wallet) Deposit(amount int) {
    w.balance += amount
}

// Публичный метод для проверки баланса
func (w *Wallet) Balance() int {
    return w.balance
}

Здесь balance скрыт, а взаимодействие происходит через методы. Это защищает данные от некорректных изменений и упрощает поддержку кода.

Видео-ответы