Java Beanとは?Java Beanに書き込んだり読み込んだりする方法

- システム
エンジニア - Java Beanとはどのようなものなのでしょうか。
- プロジェクト
マネージャー - 再利用可能なソフトウェアコンポーネントであると言われています。
Java Beanとは?
「Java Beanとは再利用可能なソフトウェアコンポーネントである」と言われても初見で理解できる方は少ないと思います。ですがご安心ください。この記事ではJava Beanを使用する際のルールや、Java Beanの応用にまで触れています。
この記事を読み終えた時には、Java Beanとは何であるかが理解でき、記事を読んだ読者が実務でJavaBeanを活かせるようになっていると思います。
Java Beanを作ってみる
私の名前は○○です。趣味はプログラミングです。身長は××です。体重は△△です。
個人情報を登録するJava Beanの器であるクラスは次のようになります。
1 2 3 4 5 6 7 8 9 |
import java.io.Serializable public class Person implements Serializable{ Person(); //コンストラクタ private String name; //名前 private String hobby; //趣味 private double height; //身長 private double weight; //体重 } |
name、hobby、height、weightはプロパティと言います。
Java Beanに書き込んだり、読み込んだりするメソッドを追加する
Java Beanに書き込んだり、読み込んだりするには、次のようなメソッドを器であるクラスに追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
public void setName(String name) { this.name = name; } public String getName() { return name; } public void setHobby(String hobby) { this.hobby = hobby; } public String getHobby() { return hobby; } public void setHeight(double height) { this.height = height; } public double getHeight() { return height; } public void setWeight(double weight) { this.weight = weight; } public double getWeight() { return weight; } |
setで始まるメソッドは書き込むために使うものでsetterと呼び、getで始まるメソッドは読み込むために使うものでgetterと呼びます。メソッド名は、set+プロパティ名、get+プロパティ名とする必要があります。
setterは戻り値にvoidを設定し、引数にプロパティの型を設定します。getterは戻り値にプロパティの型を設定し、引数は無しです。
器であるクラスに書き込んだり、読み込んだりするメソッドを追加した状態のJava Beanは以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import java.io.Serializable public class Person implements Serializable{ Person(); //コンストラクタ private String name; //名前 private String hobby; //趣味 private double height; //身長 private double weight; //体重 public void setName(String name) { this.name = name; } public String getName() { return name; } public void setHobby(String hobby) { this.hobby = hobby; } public String getHobby() { return hobby; } public void setHeight(double height) { this.height = height; } public double getHeight() { return height; } public void setWeight(double weight) { this.weight = weight; } public double getWeight() { return weight; } } |
Java Beanに書き込んだり、読み込んだりする方法
実際に書き込んだり、読み込んだりする方法は、次のようなコードを書くことです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class OperatePerson { public static void main(String[] args) { Person person = new Person(); person.setName("○○"); person.setHobby("プログラミング"); person.setHeight(××); person.setWeight(△△); String bufName = person.getName()); String bufHobby = person.getHobby()); double bufHeight = person.getHeight()); double bufWeight = person.getWeight()); } } |
名前に○○と書き込み、趣味にプログラミングと書き込み、身長に××と書き込み、体重に△△と書き込みました。そして、書き込んだ値を変数に読み込み、読み込んだ値はプログラム内で自由に使用できます。
なぜ書き込んだり、読み込んだりするメソッドが必要となるか
名前や趣味や身長や体重の意味を持つ変数はprivateで宣言されています。Java Beanを作るときは、変数自体はprivateで宣言し、変数に書き込んだり、読み込んだりするメソッドを別にpublicで宣言する必要があります。
このようにアクセス修飾子を使用するのは、外部から書き込んだり、読み込んだりする操作に制限をかけ堅牢なプログラムとするためです。
変数自体をpublicで宣言してしまえば、変数に書き込んだり、読み込んだりするメソッドを別に用意する必要もないのではとの疑問も沸くでしょう。
しかし、「変数自体はprivateで宣言し、変数に書き込んだり、読み込んだりするメソッドを別にpublicで宣言する」というルールの下Java Beanを使用するからこそ、全てのJava Beanの使い手が統一されたルールの下でJava Beanを使用できるのです。
Java Beanを自身で作ってみる
では、Java Beanをご自身で作ってみてください。あなたの名前や趣味を、先述したsetNameやsetHobbbyを使用してJava Beanに登録してみてください。そうするとJava Beanは自身のためのオブジェクトとなります。
また、Java Beanをご家族や友人で作ってみてください。そうするとJava Beanはあなたのご家族や友人ためのオブジェクトとなります。
他のJava Beanを作ってみる
Java Beanの応用は無限大で、例えばプログラミングというJava Beanを作ってみるとします。プログラミングには、プログラミング言語や開発環境などが必要になります。このため次のようなJava Beanを用意することになります。
1 2 3 4 5 6 7 8 |
import java.io.Serializable public class Programming implements Serializable{ Programming(); //コンストラクタ private String language; //プログラミング言語 private String environment; //開発環境 } |
このように新たに作ったJava Beanに対する書き込んだり、読み込んだりするルールは、もちろん前述のルールと同じです。
- システム
エンジニア - Java Beanについてよく理解できました。
- プロジェクト
マネージャー - Java Beanを使用してさまざまなオブジェクトを再利用してみましょう。
Java Beanとはについてまとめ
Java Beanとはについてもう一度考えてみます。この記事の最初に、「Java Beanとは再利用可能なソフトウェアコンポーネントである」と述べました。この意味にお気付きではないでしょうか。
1 2 3 4 5 6 7 8 9 |
import java.io.Serializable public class Person implements Serializable{ Person(); //コンストラクタ private String name; //名前 private String hobby; //趣味 private double height; //身長 private double weight; //体重 } |
このように作ったJava Beanの器であるクラスに対して、私のためのオブジェクトや、あたなのためのオブジェクト、あなたのご家族や友人のためのオブジェクトを作ることができ、再利用できます。
このようにJava Beanは何度でも再利用ができるので、再利用可能なソフトウェアコンポーネントであると言われるのです。
Java Beanとは何かご理解頂けましたでしょうか。今回のように人の個人情報やプログラミングで例えて考えると理解がしやすかったと思います。このようにプログラムを学ぶ際に、身近なものに例えて考えてみることは、学習の一つのコツになります。
FEnetJava・Javaコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


Java新着案件New Job
官公庁向け業務システム開発/Java/東京都千代田区/【WEB面談可】/テレワーク
月給39万~44万円東京都千代田区(永田町駅)販売管理システム開発/Java/東京都中央区/【WEB面談可】/テレワーク
月給49万~55万円東京都中央区(京橋駅)生命保険会社向けシステム開発/Java/東京都千代田区/【WEB面談可】/テレワーク
月給42万~48万円東京都千代田区(大手町駅)社会保険システムのパッケージ開発/Java/東京都港区/【WEB面談可】/テレワーク
月給42万~48万円東京都港区(新橋駅)金融機関向けシステム更改/Java/東京都江東区/【WEB面談可】/テレワーク
月給46万~51万円東京都江東区(豊洲駅)大手通信会社者向けWebシステム改修/Java/東京都港区/【WEB面談可】/テレワーク
月給42万~48万円東京都港区(品川駅)