Jak nazywa się sytuacja, w której funkcja wywołuje samą siebie?
Źle. Dziedziczenie to przejmowanie cech klasy nadrzędnej.
Źle. Iteracja to powtarzanie kroków w pętli, bez wywoływania funkcji przez siebie.
Dobrze. Rekurencja to wywołanie funkcji przez nią samą.
Źle. Hermetyzacja to ukrywanie pól i metod (programowanie obiektowe).
Rekurencja to technika, w której funkcja wywołuje samą siebie, by rozwiązać problem przez sprowadzenie go do prostszego przypadku tego samego typu. Każda poprawna rekurencja musi mieć warunek bazowy (przypadek prosty, kończący wywołania), inaczej powstanie nieskończone wywoływanie i przepełnienie stosu. Klasyczne przykłady to silnia czy ciąg Fibonacciego. Często alternatywą jest iteracja (pętla). Dlatego wywołanie funkcji przez samą siebie to rekurencja.
Pozostałe pojęcia oznaczają co innego. Iteracja to powtarzanie tych samych instrukcji w pętli (for, while) - również realizuje powtórzenia, ale bez wywoływania funkcji przez siebie. Hermetyzacja to zasada programowania obiektowego polegająca na ukrywaniu wewnętrznych pól i metod obiektu. Dziedziczenie to mechanizm OOP, w którym klasa przejmuje cechy klasy nadrzędnej. Wywoływanie funkcji przez nią samą to rekurencja, dlatego ta odpowiedź jest poprawna.