Какая разница между методом, функцией и процедурой?

Всегда интересовал этот вопрос. Ответьте пожалуйста простыми словами что б я понял)

Разница очень проста и прозаична.

Процедура не возвращает значение и вызывается по имени

Функция возвращает значение и вызывается по имени.

Метод вызывается от имени и неявно передаёт экземпляр класса, от которого вызывается

Функция - подпрограмма, выполняющая какие-либо операции и возвращающая значение.

Процедура - подпрограмма, которая только выполняет операции, без возврата значения.

Метод - это функция или процедура, которая принадлежит классу или экземпляру класса.