1
JavaIntermediate#oop#interface
Encapsulation: bundling data + methods, restricting access via private fields and getters/setters. Inheritance: a class derives properties from another (extends). Polymorphism: same method behaves differently (overloading / overriding). Abstraction: hiding implementation details using abstract classes or interfaces.
class Animal { void sound() { System.out.println("..."); } }
class Dog extends Animal { void sound() { System.out.println("Bark"); } } // inheritance + overriding
Animal a = new Dog();
a.sound(); // Bark (polymorphism)