方法(method)和函数(function)有什么区别? - 文章 - 伯乐在线
(blog.jobbole.com)
差別主要在於有沒有可參考的 self instance(無論是 Python 明確的 self 或 Java 隱含的 this)。
像 Python 或 JavaScript 可以指定 self instance 的語言中,區分方法與函式就沒什麼意義,高興怎麼叫就怎麼叫(Java 也可以透過 Reflection 來做)。
就語言實作層面來說,其實都類似,都是變數查找之類的,看是要明確的 self 或隱含地在環境物件之類的東西中找。