Object Oriented Programming as the name suggests Programming around Objects, in this paradigm objects play a very big role. You can say Objects are the most important ingredient in building any Application using this languages. The Language that I choose for discussing this topic is non other than Java. Why Java? Why Not Java ? this is a big question , and I am not experienced enough to answer that. Modern world application are not built using monolith architecture, so now we don't have a single object responsible for every action. Now we have different architectures which deals with many type of Objects ,my discussion is based on Layered Architecture that we can see mostly in any application. The Application is divided basically in three parts - The Presentation Layer The Business Layer The Configuration Layer There can be other layers also, but for simplicity I divided them in three parts. Now If you have written code in this architecture then you know you can'...