A recursive function is a function that calls itself in order to solve a problem. It typically breaks down a complex problem into smaller, more manageable sub-problems. Each time the function calls itself, it works on a simpler version of the original problem until it reaches a base case, which is a condition that stops the recursion.
For example, calculating the factorial of a number is a common use of recursion. The factorial of a number n is defined as n multiplied by the factorial of n-1, with the base case being that the factorial of 0 is 1. This self-referential approach allows for elegant solutions to problems that can be defined in terms of themselves.