В статье содержится формализация основных понятий объектно — ориентированного программирования. Даются определения таким понятиям ООП как класс, объект, наследование, инкапсуляция, полиморфизм через математические термины: множество, отношение, функция, абстрактный автомат. Строго различаются понятия тип (множество состояний абстрактного автомата) и класс (абстрактный автомат).