Since most readers are already familiar with Java, it would be helpful to compare common Java idioms with the Groovy equivalent.
Default Method Values
One thing that might surprise you coming from Java is that in Groovy you can provide default values for method parameters. For example, let's say you have a fly method with a parameter called text:
1 def fly(String text = "flying") {println text}
This would essentially create two methods behind the scenes (from a Java standpoint):
1 def fly() {println "flying"}
2 def fly(String text) {println text}
This can work with any number of parameters as long as the resulting ...