Groovy は Java と異なり、下記のような特徴を持っています。
- 行末のセミコロンは省略できる
- クラス、コンストラクタ、メソッドはデフォルトで
publicとなる returnの記述は省略できる(最後に評価された式が戻り値となる)- getter/setter メソッドが自動的に作られる(
obj.propのようにアクセスすればobj.getPropやsetPropが呼び出される) ==によるオブジェクトの比較は、自動的にequalsによる比較となる(しかもnullチェックの必要はない)assertは常に有効(Java の場合は-eaまたは--enable-assertionオプションの指定が必要)- 変数の型や、メソッドの戻り値の型は
defとしておけば、自動で判別してくれる - コレクション(List や Map)の扱いがシンプルで、Python や Ruby に近い構文で記述できる