Prash Singh wrote:
What do we actually mean by OOP?
and what are the other languages related to objects , such as object based language?
And what do we mean by fully object oriented?
Is java fully object oriented?
OOP means that the language supports a class concept, a
unit of encapsulation which allows you to define your own types, and that variables declared using those types hold data in the form of objects. In addition to encapsulation an OO language should support inheritance and
polymorphism. Inhertance is a way of composing new types from other types. Polymorphism comes in essentially four forms: coercion, overloading, subtype and generics.
Object based means that objects have the form of records used to store data. Examples are C and Pascal. It can also mean an OO programming style which reduces objects to records. Objects aren't asked to do things, they're merely used to hold data which is shuffled in and out.
Full OO usually means that "everything is an object". In that sense Java isn't full OO because it has primitives and static methods and the keywords aren't objects. And there is no definition of what full encapsulation, inheritance and polymorphism actually would mean so "full" is a moving target really.
In my view Java is enought OO for any practical purposes. Making it "fuller" wouldn't necessarily improve it.