I have a few been studying OOP for some time. I keep reading in almost every book that OOP was developed in order to write more complex software and has many features not available in procedural programming like code re usability, security, modularity, encapsulation etc.
I haven't developed any real-world app yet so i don't really understand a few things and i hope some of you can explain them to me.
1. How is the code re-usable in OOP ?
2. How is OOP more secure than Procedural programming?
3. Compared to procedural programming how is OOP based programs more easily maintainable ? Both procedural and OOP have functions/methods so how aren't they both easily maintainable ?