How does virtual functions work behind the scenes in Inheritance ? Does the compiler treat virtual functions specially ?
All methods in java are virtual by default. That means that any method can be overridden when used in inheritance, unless that method is declared as final or static.