A recursive method is a method that calls itself either directly or indirectly

There are two key requirements to make sure that the recursion is successful:

Iteration Vs. Recursion