What Do You Mean by Abstraction in Java?

  • 4.0/5
  • 686
  • May 03, 2025
Abstraction in Java is an Object-Oriented Programming (OOP) concept that focuses on hiding implementation details and showing only the essential features of an object or system to the outside world.

Definition: Abstraction is the process of hiding the complex internal logic and exposing only the necessary parts through interfaces or abstract classes.

Purpose of Abstraction:
- Reduce complexity.
- Increase code reusability and scalability.
- Separate what an object does from how it does it.

How Abstraction is Achieved in Java
1) Using Abstract Classes:
- Cannot be instantiated.
- Can have both abstract (unimplemented) and concrete (implemented) methods.

abstract class Animal {
abstract void makeSound(); // abstract method
void sleep() {
System.out.println("Sleeping...");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("Bark!");
}
}
view raw Animal.java hosted with ❤ by GitHub


2) Using Interfaces:
- All methods are abstract by default (before Java 8).
- A class implements the interface and defines the behavior.

interface Vehicle {
void drive();
}
class Car implements Vehicle {
public void drive() {
System.out.println("Driving a car.");
}
}
view raw Vehicle.java hosted with ❤ by GitHub


Real-World Analogy: Think of a TV remote - You know what buttons to press to change the channel (interface), but you don't need to know how the internal circuits work (implementation).
Index
Why is Java a platform independent language?

2 min

Is Java a pure object oriented language?

2 min

What is the difference between Heap and Stack memory in Java, and how does Java utilize them?

2 min

What do you mean by data encapsulation in Java?

2 min

What Do You Mean by Abstraction in Java?

2 min

What is the difference between Encapsulation and Abstraction in Java?

3 min

What is a JIT Compiler in Java?

2 min