ООП это не стиль, это парадигма.
Ее можно использовать для написания программ практически любого размера, но неудобно для мелких скриптов.
Стиль это скорее нотации, типа CamelNotation
ООП не является реализацией какого-либо решения. Практически все, что вы хотите - ограничения на доступ к базе и другие штуки, можно реализовать и в ООП и без него. Какая разница?
Суть ООП и функционального программирования только в том, как располагать куски кода - по функциям или по методам. Но ограничение доступа связано ни с функцией ни с методом, а с тем, как вы это ограничение реализовали.
Главная идея ООП заключается вот в чем:
Есть данные. Мы их инкапсулирем в класс.
Есть методы, которые манипулируют именно этими данными. Поэтому методы должны тоже находиться в классе с данными.
Если нам приходится добавлять данные, менять их тип и формат, в случае с ООП мы легко правим методы, которые находятся в этом же классе. Можем написать новые методы, можем переделать старые, можем совместить. В случае с функциональным программированием, затраты на переделку программы будут гораздо дороже и запутаннее.