この記事は GMOアドマーケティング Advent Calendar 2021 13日目の記事です。 GMOアドマーケティングのT.Nです。 Java 17でSealed ClassesがPreviewからStandardになりました。 弊社でも先日一部のプロダクトをJava 17にバージョンアップしたので、 今後Sealed Classesを活用していけるように記事にまとめました。 今回の記事は全体的にJEP 409 を参考にしています。 Sealed Classesとは 簡単に説明すると、 extends、implementsできるクラスを制限するための仕組みです。 sealed、non-sealed、permitsという新しい文法を使って実現できます。 Sealed Classesを活用することで、 クラスの階層でドメイン知識を表現しやすくなります。 sealedをつけたクラス、イン
![JavaのSealed Classesについて](https://cdn-ak-scissors.b.st-hatena.com/image/square/4fd0d4ab63759cc5518bf41c635ff353ac930832/height=288;version=1;width=512/https%3A%2F%2Ftechblog.gmo-ap.jp%2Fwp-content%2Fuploads%2F2022%2F04%2Fogpimage001.png)