プログラミング言語の文法の柔軟さは、コーディング作業の効率を大きく左右する。Groovyでは、PythonやRuby、Smalltalkといった言語の影響で、ベースであるJava言語の構成要素やコアライブラリの扱いを大幅に単純化している。ここでは、Groovyの文法が持つ柔軟性を示すため、クラスや関数(defキーワードで定義)、クロージャ、コレクション、レンジ、マップ、イテレータといった基本要素について紹介しよう。 ■クラス Groovyのクラスは、バイトコードのレベルではJavaクラスそのものである。ただ、アクセス修飾子を明記しない限り、デフォルトですべてのクラスはpublicクラスになる。またクラスのフィールドやメソッドは動的型付けの対象となる。returnキーワードも省略できる。 リスト7は、Groovyでのクラス定義の例である。このDogクラスは、Dogオブジェクトのフルネームを表