Object Oriented Programming (OOPs) Concept in Java
As the name suggests, Object-Oriented Programming or OOPs refers to languages that use objects in programming, they use objects as a primary source to implement what is to happen in the code. Objects are seen by the viewer or user, performing tasks assigned by you. Object-oriented programming aims to implement real-world entities like inheritance, hiding, polymorphism etc. in programming. The main aim of OOP is to bind together the data and the functions that operate on them so that no other part of the code can access this data except that function.
Let us discuss prerequisites by polishing concepts of method declaration and message passing. Starting off with the method declaration, it consists of six components:
- Access Modifier : Defines the access type of the method i.e. from where it can be accessed in your application. In Java, there are 4 types of access specifiers:
- public: Accessible in all classes in your application.
- protected: Accessible within the package in which it is defined and in its subclass(es) (including subclasses declared outside the package) .
- private: Accessible only within the class in which it is defined.
- default (declared/defined without using any modifier): Accessible within the same class and package within which its class is defined.
Message Passing: Objects communicate with one another by sending and receiving information to each other. A message for an object is a request for execution of a procedure and therefore will invoke a function in the receiving object that generates the desired results. Message passing involves specifying the name of the object, the name of the function and the information to be sent.
Master OOP in Java Write cleaner, more modular, and reusable Java code by building a foundation in object-oriented programming with Educative’s interactive course Learn Object-Oriented Programming in Java . Sign up at Educative.io with the code GEEKS10 to save 10% on your subscription.
Now that we have covered the basic prerequisites, we will move on to the 4 pillars of OOPs which are as follows. But, let us start by learning about the different characteristics of an Object-Oriented Programming Language.
OOPS concepts are as follows:
- Class
- Object
- Method and method passing
- Pillars of OOPs
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Compile-time polymorphism
- Runtime polymorphism
A class is a user-defined blueprint or prototype from which objects are created. It represents the set of properties or methods that are common to all objects of one type. Using classes, you can create multiple objects with the same behavior instead of writing their code multiple times. This includes classes for objects occurring more than once in your code. In general, class declarations can include these components in order:
- Modifiers : A class can be public or have default access (Refer to this for details).
- Class name: The class name should begin with the initial letter capitalized by convention.
- Superclass (if any): The name of the class’s parent (superclass), if any, preceded by the keyword extends. A class can only extend (subclass) one parent.
- Interfaces (if any): A comma-separated list of interfaces implemented by the class, if any, preceded by the keyword implements. A class can implement more than one interface.
- Body: The class body is surrounded by braces, < >.
An object is a basic unit of Object-Oriented Programming that represents real-life entities. A typical Java program creates many objects, which as you know, interact by invoking methods. The objects are what perform your code, they are the part of your code visible to the viewer/user. An object mainly consists of:
- State : It is represented by the attributes of an object. It also reflects the properties of an object.
- Behavior : It is represented by the methods of an object. It also reflects the response of an object to other objects.
- Identity : It is a unique name given to an object that enables it to interact with other objects.
- Method: A method is a collection of statements that perform some specific task and return the result to the caller. A method can perform some specific task without returning anything. Methods allow us to reuse the code without retyping it, which is why they are considered time savers . In Java, every method must be part of some class, which is different from languages like C, C++, and Python.
class and objects one simple java program :