Деструктор в объектно-ориентированном программировании — это метод для деинициализации объекта, где запрограммированы все действия, которые необходимо выполнить для уничтожения объекта класса. 5 Деструктор выполняется после того, как соответствующий объект класса перестаёт использоваться в программе. 5 Момент вызова деструктора определён жёстко. 25
Финализатор — это метод класса, который автоматически вызывается средой исполнения в промежутке времени между моментом, когда объект этого класса опознаётся сборщиком мусора как неиспользуемый, и моментом удаления объекта (освобождения занимаемой им памяти). 13 Момент вызова финализатора не определён жёстко: он зависит от режима работы сборщика мусора, объёма доступной оперативной памяти и активности использования памяти программой. 23