Recursion is the general method of solving problems by reducing them to similar, simpiler problems. A recursive method repeatedly calls itself, each time in a simpler situation, until it gets to a stopping case, at which point it returns some ending value. One should make sure that the stopping case is actually reached or infinite recursion will result.