Object-Oriented Programming (OOP) in Java is a programming paradigm based on the concept of objects, which bundle data and methods together. The key OOP concepts in Java are:
- Class: A blueprint for creating objects, defining properties and behaviors.
- Object: An instance of a class containing specific data.
- Inheritance: Allows a class to inherit properties and methods from another class.
- Polymorphism: Enables methods to perform differently based on the object calling them.
- Encapsulation: Restricts direct access to data by wrapping it within methods.
- Abstraction: Hides implementation details and shows only functionality.
These concepts make Java flexible, modular, and reusable.