So you get all the OOP stuff from java, but in a scripting language.
I don't see that as an advantage. Some people do.
Function calls have a huge overhead even if they are in the same class.
Calling getters/setters hasn't any performance impact on modern jdk's. I remember benchmarking just that on various sun jvm versions. Can't find the article I wrote on Google Knol, but the result was that there was few performance impact on 1.4, almost none on 1.5 and none at all on 1.6. Anyway, it was barely noticeable on millions of method calls. So, this hasn't been an acceptable excuse for years
It is easier to write an incorrect program than understand a correct one.