Java is termed an Object Oriented language. So, exactly what does Object Oriented indicate? It signifies that the foundations of virtually any computer program built-in Java may very well be imagined in terms of Objects. A good example of this idea is to take a look at a number sample business requirements for a product. Imagine that we are actually tasked with developing a computer program which should manage a huge public library system. This system will have to account for the whole set of branches belonging to the libraries, each of the materials that might be contained in the branches, in addition to any individual visitors that may would like to borrow books in the library's branch.
First of all we could begin doing is look at these specifications and spot each of the words which happen to be nouns. For the record, a noun is really a person, place or thing. Thus, when you assess these specifications we discern the foregoing nouns:
All of these phrases definitely symbolize Objects in Java. That is, fundamentally, Object Oriented programming (aka O-O programming). What we might now go about doing, is just transfer these four Objects on to a single piece of old fashioned paper, and begin to find what types of attributes each one of these Objects possess What do I mean by attributes? Okay, in O-O development it is often known as recognizing the "has a" relationships. Here is an example, a Branch "has an" address, a Book "has a" title, a Customer "has a" designation. We could map out all of the significant attributes that all of these Objects have, and build ourselves a superb beginning point for the design of any Java application.
Object Oriented development enables developers to think in terms of real world "things" or Objects, and simply solve problems with those Objects. It is advisable to note that Java is actually not the only O-O programming language in existence, as it was actually recognized nearly five decades ago and a lot of popular programming languages make use of Object Oriented principles. Those languages may include C++, C#, Objective-C, Python, Ruby, and Visual Basic.