Java is one of the most widely used programming languages in the world, and one of the key reasons for its popularity is its object-oriented nature. Understanding the characteristics of object oriented programming in Java is essential for beginners and professionals alike.
In this blog, we will explore these characteristics with examples, a comparison table, bullet points, and frequently asked questions (FAQ).
What is Object Oriented Programming (OOP)?
Object-Oriented Programming (OOP) is a programming paradigm that uses “objects” to design applications. Objects are instances of classes and are used to represent real-world entities.
Key Characteristics of Object Oriented Programming in Java
The characteristics of object oriented programming in Java can be summarized in the table below:
Characteristic | Description |
---|---|
Encapsulation | Wrapping data and methods into a single unit (class) |
Inheritance | Mechanism by which one class can acquire properties of another |
Polymorphism | Ability to take many forms (method overloading and overriding) |
Abstraction | Hiding internal implementation and showing only essential details |
Class and Object | Blueprint of an object (Class), and its instance (Object) |
Explanation of Characteristics
Here’s a detailed explanation of the characteristics of object oriented programming in Java:
- Encapsulation
- Protects data from unauthorized access
- Uses access modifiers (private, public, protected)
- Example:
public class Person {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
- Inheritance
- Promotes code reuse
- Allows one class (child) to inherit from another (parent)
- Example:
class Animal {
void sound() {
System.out.println("Animal makes sound");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Dog barks");
}
}
- Polymorphism
- Same method behaves differently in different classes
- Achieved via overloading and overriding
- Example:
class Shape {
void draw() {
System.out.println("Drawing Shape");
}
}
class Circle extends Shape {
void draw() {
System.out.println("Drawing Circle");
}
}
- Abstraction
- Focus on what an object does instead of how it does it
- Implemented using abstract classes and interfaces
- Example:
abstract class Vehicle {
abstract void move();
}
class Car extends Vehicle {
void move() {
System.out.println("Car moves safely");
}
}
- Class and Object
- Class: Template for creating objects
- Object: Instance of a class
- Example:
class Student {
int id;
String name;
}
public class Main {
public static void main(String[] args) {
Student s1 = new Student();
s1.id = 101;
s1.name = "John";
}
}
Summary
- Java supports all core principles of OOP
- Encapsulation ensures data protection
- Inheritance allows code reusability
- Polymorphism enables flexible code
- Abstraction hides complex implementation
- Classes and objects are building blocks
These are the characteristics of object oriented programming in Java that make it robust, scalable, and maintainable.
FAQs on Characteristics of Object Oriented Programming in Java
Q1. Why is Java called object-oriented?
A: Because it uses objects and classes to structure code, and supports all OOP principles like encapsulation, inheritance, polymorphism, and abstraction.
Q2. What is the difference between encapsulation and abstraction?
A: Encapsulation hides data using access modifiers, while abstraction hides implementation details and only shows necessary features.
Q3. Can you give a real-life example of inheritance in Java?
A: Just like a child inherits traits from parents, a Car
class can inherit properties from a generic Vehicle
class in Java.
Q4. What is polymorphism in simple terms?
A: It means the same method name can behave differently based on the object that invokes it.
Q5. Are classes and objects necessary in Java?
A: Yes, Java is built on classes and objects. You cannot write Java programs without them.