Współczesne języki programowania, zarówno te kompilowane jak i interpretowane, wykorzystują koncepcję programowania obiektowego. Polega ona na modularyzowaniu kodu programu na małe funkcjonalne części zwane obiektami. Są to swego rodzaju “klocki”, z których następnie składamy cały program. Są one na tyle uniwersalne, że używamy je w różnych programach. Obiekty te nazywane są klasami, które składają się z atrybutów (zmiennych) oraz metod (funkcji). Jedną ze specjalnych funkcji jest konstruktor klasy.