class Hello{ String name Integer age String message def createMessage(String name, Integer age) { this.message = """Hello! I am ${name}(${age})""" } def setAge(Integer age) { this.age = age + 100 } } 特になんの変哲もないクラス。 少しJavaと違うのが、メンバ変数のセッタが宣言されている場合、Groovyの場合、直接プロパティにアクセスしようとすると、自動的にその変数用のセッタが呼ばれるということぐらいでしょうか? 例えばhelloObject.age = 100を実行すると、プロパティのアクセスではなく、setAgeが実行されます。 このオブジェクトを操作しようとすると、以下のような形になり
![[Groovy]with句を使ってオブジェクトの初期化をちょっと簡略化する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c2889d9778f7ad7f4391ff20e13e4a129bb980c4/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JTVCR3Jvb3Z5JTVEd2l0aCVFNSU4RiVBNSVFMyU4MiU5MiVFNCVCRCVCRiVFMyU4MSVBMyVFMyU4MSVBNiVFMyU4MiVBQSVFMyU4MyU5NiVFMyU4MiVCOCVFMyU4MiVBNyVFMyU4MiVBRiVFMyU4MyU4OCVFMyU4MSVBRSVFNSU4OCU5RCVFNiU5QyU5RiVFNSU4QyU5NiVFMyU4MiU5MiVFMyU4MSVBMSVFMyU4MiU4NyVFMyU4MSVBMyVFMyU4MSVBOCVFNyVCMCVBMSVFNyU5NSVBNSVFNSU4QyU5NiVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YzM5MzNjNWE2YWU5MGUyN2JhNGI1YzJlZDk4ZGFmNzY%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2FiYTEwMjQmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWUwMzUzZTU4ZGFiYjE3NjI2ODU1ZDdiOWNhNzJlYmI4%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D5357e21588b16e5f2fe5e4262f92c4e9)