That this Class cannot have objects and can also have abstract methods that are empty and must be overridden in the subclasses to make them operational.
Using this modifier implies that nothing can modify or override the defined object/class/variable.
It’s having different methods with the same name but with different inputs parameters. And when you call them it will run the method that matches with the input parameters given.
Is a modifier and they regulate from where you can access to that part of code.