Through method overriding, to pe precise, it is called Dynamic Method Dispatch (i.e. which method to call, either of base class or child class, this is resolved at run time, based on the reference passed or assigned to the object)