В чем разница между : и . в функциях lua

Разница лишь в том что что используя : функции не нужно передавать self как параметр. См. Пример

function MyClass:Func(a)
  self.name = a
end
 
function MyClass.Func2(self, a)
  self.name = a
end
 
object:Func("hello")
object.Func2(object, "hello")