Prevents further subclassing or method overriding.
In Java, marking a class as `final` means it cannot be subclassed, ensuring the class's implementation remains unchanged. Similarly, a `final` method cannot be overridden in subclasses. This is useful for security or performance reasons. For example, a `final class Constants` might hold immutable values.
Additional Notes
Why does using ‘final’ in inheritance change runtime behavior?