Protected = subclasses can call them.
Virtual = subclasses can override them.
So basically, any subclass can call the method, and that method may be overridden in any other subclass.