O funcție se numește recursivă dacă ea se autoapelează.
Recursivitatea este de două tipuri: directă și indirectă.
În cazul în care auto-apelul se realizează în cadrul aceleiași funcții, recursivitatea este directă (A->A).
Atunci când auto-apelul se realizează prin intermediul altei funcții, recursivitatea este indirectă (A->B->...->A).