#JavaBeansとBeanとは何か?違いを理解していなかったので調べてまとめる。
##JavaBeans(ジャバ ビーンズ)とは
Javaで書かれた再利用可能なソフトウェアコンポーネントまたはその技術仕様のこと。
- 操作するデータのことをプロパティと呼ぶ。
JavaBeansはあくまで仕様なので以下のような規則があります。
###JavaBeansの主な仕様(Beanが従うべき仕様や規約)
- クラスをpublicで指定する
- プロパティ(クラスのメンバ変数)はprivateで指定する
- 引数なしのpublic指定なコンストラクタを定義する
- プロパティにアクセスするためのgetter、setterメソッドを用意する
- 外部からプロパティにアクセスするためのいわゆるgetterメソッド/setterメソッドなどメソッド名が命名規則に則っている
- java.io.Serializableインタフェースを実装する(必須ではない)
- パッケージ化する
- クラス名の最後は慣例的にBeanにする
##Beanとは
-
JavaBeansやEnterprise JavaBeans(EJB)の仕様に則って開発された、
部品化された再利用可能なJavaプログラム。 -
外部の他のプログラムから容易に利用できるよう共通化された仕様に則って開発されたプログラムで、コードの共有や再利用、機能毎の分離や役割分担、汎用的なプログラム部品の流通などに利用されている。
###JavaBeans仕様に則ってコーディングするメリットは?
結論から言うと、JavaBeanを使うメリットは「データの意図しない書き換えを防げること」です。
###解説
各データ属性はprivateであるため、外部からはアクセスできません。
そのため、必ずインスタンスの生成をしてから、セッターを呼ばなければデータ属性を書き換えられない仕組みです。
このようにして外部からデータ属性を保護することをカプセル化と呼びます。
参考にした記事(いつもありがとうございます)
JavaBeansとは?仕様や使い方、永続化について解説
JavaBeansの使用方法を現役エンジニアが解説【初心者向け】
Bean