Abstraction

Abstraction hides complex implementation details and shows only the necessary functionalities to the user.

abstract class Animal {
    public abstract void sound(); // Abstract method
    
    public void sleep() {
        System.out.println("Sleeping...");
    }
}

class Cat extends Animal {
    @Override
    public void sound() {
        System.out.println("Cat meows");
    }
}

public class Main {
    public static void main(String[] args) {
        Cat myCat = new Cat();
        myCat.sound();  // Output: Cat meows
        myCat.sleep();  // Output: Sleeping...
    }
}

Abstraction — Structure map

Clickable & Draggable!

Abstraction — Related pages: