Recursion is the process of repeating items in a self-similar way.
In mathematics and computer science, a class of objects or methods exhibit recursive behavior when they can be defined by two properties:
1.simple base case (or cases)
2.set of rules that reduce all other cases toward the base case