Virtual como concepto de la OOP no significa nada, Virtual es más una herramienta/solución a nivel de implementación, y que formando parte del lenguaje de programación, nos ayuda a solucionar ciertos aspectos en la OO.

Por ejemplo, si se declara una función virtual dentro del lenguaje C++, lo único que estamos consiguiendo es aplicar el concepto de polimorfismo, y dicho método será redefinido en alguna de sus subclases. A diferenecia del caso de Java que cualquier método se puede redefinir sin la utilización de un modificador extra, a no ser que préviamente ya se haya bloqueado con el modificador final.

Interesante apreciación, que nos puede llevar a confundir entre el modelo/concepto y su implementación práctica en un lenguaje de programación, pero que al final todos nos entendemos.

; )