Только начинаю изучать C# и ООП, до этого дружил в основном с python.
Объясните непонимающему человеку, что такое инкапсуляция и зачем она конкретно?
Да, я знаю, что это объединение данных и методов в классе, сокрытие способа их работы и т. д.
Но в каких конкретно примерах она нужна, и чем опасно делать все классы и методы типа public если открытый код, к примеру, упрощает работу с большим проектом и в случае изменения чего-то, не нужно переписывать половину кода.
К тому же, зачастую, сама инкапсуляция увеличивает количество кода с методами get set returnи тд., если различных переменных свыше 20-30, каждую нужно расписывать (инкапсулировать)?
TDD. И вам быстро станет понятно для чего служит инкапсуляция. – Bulson Nov 21 '20 at 08:41