代わりにパッケージレベルの関数を使うのが推奨。他にオブジェクト宣言やコンパニオンオブジェクトを使う方法があるけど、これについては後ほど。クラスの拡張として利用できる。クラスの各定数は1つのインスタンスとしてしか存在できないが、シールドクラスのサブクラスは状態を含む複数のインスタンスを持てる。コンパイラは知っている。result}getter/setterプロパティの完全なシンタックスは以下。型推論できるならオプション。明示的な初期化が必要。デフォルトgetter/setter利用。型推論によりInt型、デフォルトのgetter/setter利用。setterにアノテーションを付ける。実装はデフォルトを利用。