You are on page 1of 2

OOPs and Its Concepts in Java

                          

Brief Introduction to OOP


Object Oriented Programming or OOP is the technique to create programs based on the real
world. Unlike procedural programming, here in the OOP programming model programs are
organized around objects and data rather than actions and logic. Objects represent some concepts
or things and like any other objects in the real Objects in programming language have certain
behavior, properties, type, and identity. In OOP based language the principal aim is to find out
the objects to manipulate and their relation between each other. OOP offers greater flexibility
and compatibility and is popular in developing larger application. Another important work in
OOP is to classify objects into different types according to their properties and behavior. So OOP
based software application development includes the analysis of the problem, preparing a
solution, coding and finally its maintenance.

Java is a object oriented programming  and to understand the functionality of OOP in Java, we
first need to understand several fundamentals related to objects. These include class, method,
inheritance, encapsulation, abstraction, polymorphism etc.

Class - It is the central point of OOP and that contains data and codes with behavior. In Java
everything happens within class and it describes a set of objects with common behavior. The
class definition describes all the properties, behavior, and identity of objects present within that
class. As far as types of classes are concerned, there are predefined classes in languages like C++
and Pascal. But in Java one can define his/her own types with data and code.    

Object - Objects are the basic unit of object orientation with behavior, identity. As we
mentioned above, these are part of a class but are not the same. An object is expressed by the
variable and methods within the objects. Again these variables and methods are distinguished
from each other as instant variables, instant methods and class variable and class methods. 

Methods -  We know that a class can define both attributes and behaviors. Again attributes are
defined by variables and behaviors are represented by methods. In other words, methods define
the abilities of an object. 

Inheritance - This is the mechanism of organizing and structuring software program. Though
objects are distinguished from each other by some additional features but there are objects that
share certain things common. In object oriented programming classes can inherit some common
behavior and state from others. Inheritance in OOP allows to define a general class and later to
organize some other classes simply adding some details with the old class definition. This saves
work as the special class inherits all the properties of the old general class and as a programmer
you only require the new features. This helps in a better data analysis, accurate coding and
reduces development time. 
Abstraction - The process of abstraction in Java is used to hide certain details and only show the
essential features of the object. In other words, it deals with the outside view of an object
(interface). 

Encapsulation - This is an important programming concept that assists in separating an object's


state from its behavior. This helps in hiding an object's data describing its state from any further
modification by external component. In Java there are four different terms used for hiding data
constructs and these are public, private, protected and package. As we know an object can
associated with data with predefined classes and in any application an object can know about the
data it needs to know about. So any unnecessary data are not required by an object can be hidden
by this process. It can also be termed as information hiding that prohibits outsiders in seeing the
inside of an object in which abstraction is implemented.  

Polymorphism - It describes the ability of the object in belonging to different types with specific
behavior of each type. So by using this, one object can be treated like another and in this way it
can create and define multiple level of interface. Here the programmers need not have to know
the exact type of object in advance and this is being implemented at runtime.

You might also like