Object-Oriented Programming is activity to describe real world objects in terms
of abstraction, polymorphism and encapsulation. Real world objects have identity, state, behavior which is modelled using features found from programming languages.
Languages supporting statically typed OO are Java,C++, eiffel, sather.