Overloading: Method overloading occurs when multiple methods within the same class have different signatures but share the same name. This allows for flexibility in how methods can be called based on different parameter combinations.
Default Constructor: A default constructor is provided by Java if no other constructors are explicitly defined in a class. It has no parameters and initializes instance variables with default values.
Method Overriding: Method overriding happens when subclasses provide their own implementation of a method that is already defined in their superclass. The overriding method must have the same signature as the method in the superclass.