Видимость члена, как часто называют эту функцию, не является функцией безопасности. Это удобство для программиста, разработанное, чтобы помочь ограничить межклассовые зависимости. Объявив члена закрытым, вы не позволяете другому коду обращаться к нему напрямую. Это имеет два преимущества:
- если вы обнаружите, что с переменной-членом манипулируют так, как вы не предполагали, объем кода, который вы должны проверить, значительно меньше, когда переменная является закрытой
- вы можете изменить внутреннюю работу класса (все, что объявлено закрытым), не нарушая интерфейс (все, что объявлено общедоступным)
Видимость членов, вероятно, самая важная языковая особенность в реализации инкапсуляции , одного из основных принципов объектно-ориентированного программирования.