Open recursion

In languages that support open recursion, object methods can call other methods on the same object (including themselves), typically using a special variable or keyword called $\lstinline{this}$ or $\lstinline{self}$. This variable is late-bound; it allows a method defined in one class to invoke another method that is defined later, in some subclass thereof.