カプセル化とは、情報へのアクセスや
動作の処理を隠蔽することで
アクセス制限ができることです。
カプセル化の利点は、
悪意がなく間違いによる操作があって場合でも
大切な情報の書き換えを防ぐことができます。
また想定しない利用が発生したならば、
その原因箇所を特定しやすくするための
仕組みでもあります。
アクセス範囲(スコープ)の設定には
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
package Sample; public class Sample1 { public static void main(String[] args) { // インスタンス生成 menber1 m1 = new menber1(); menber2 m2 = new menber2(); // 書き換え可能 m1.id = "33"; m1.name = "mori"; // コンパイルエラーで書き換え不可 m2.id = "44"; m2.name = "sano"; } } class menber1 { // ID String id = "11"; // 名前 String name = "suzuki"; // 仕事 String job = "doctor"; public String getId() { return id; } public String getName() { return name; } public String getJob() { return job; } } class menber2 { // ID private String id = "22"; // 名前 private String name = "sato"; // 仕事 private String job = "singer"; public String getId() { return id; } public String getName() { return name; } public String getJob() { return job; } } |
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
package Sample; public class Sample1 { public static void main(String[] args) { // インスタンス生成 menber1 m1 = new menber1(); menber2 m2 = new menber2(); // 書き換え可能 m1.id = "33"; m1.name = "mori"; // id、name、jobを取得 System.out.println("menber1の情報"); System.out.println(m1.getId()); System.out.println(m1.getName()); System.out.println(m1.getJob()); System.out.println("menber2の情報"); System.out.println(m2.getId()); System.out.println(m2.getName()); System.out.println(m2.getJob()); } } class menber1 { // ID String id = "11"; // 名前 String name = "suzuki"; // 仕事 String job = "doctor"; public String getId() { return id; } public String getName() { return name; } public String getJob() { return job; } } class menber2 { // ID private String id = "22"; // 名前 private String name = "sato"; // 仕事 private String job = "singer"; public String getId() { return id; } public String getName() { return name; } public String getJob() { return job; } } |
1 2 3 4 5 6 7 8 |
menber1の情報 33 mori doctor menber2の情報 22 sato singer |
カプセル化はプログラムの中で
必ず使われており
Form、Dto、Entityなどは、
カプセル化をして定義します。
まず最初にprivateで
フィールド値の初期値を設定します。
1 2 3 4 5 6 7 8 9 10 11 12 |
public class Sample2 { // ID private String id = ""; // 名前 private String name = ""; // 仕事 private String job = ""; // 男性 private boolean sex = false; } |
Eclipseでは、フィールド値を定義してから
ショートカットキーを入力するだけで
getter,setterメソッドの生成が可能です。
getter,setterメソッドの生成をしたい
フィールド値を選択しOKを押下
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 34 35 36 37 |
public class Sample2 { // ID private String id = ""; // 名前 private String name = ""; // 仕事 private String job = ""; // 男性 private boolean sex = false; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } } |
※booleanの場合、getでなくisになります。
重要なメンバのアクセス制御では、
特別な理由がない限り、
という決まりになっています。
フィールドはメソッドによって守られており、
外部から直接アクセス出来ないようにします。
今の年収に満足していますか?
同じ契約金で業務委託していても
在籍している会社によって給料が違います。
今と同じスキル・業務内容でも
年収が変わるということです。
さらに以下を考慮すると
より年収アップにつながります。
- スキルセットと需要
- 経験と実績
- 業界や地域の市場価値
- 転職時の交渉スキル
転職先の企業の給与体系や
業界の標準的な給与水準を調査し、
給与のみでなく、
福利厚生やキャリア成長の機会、
ワークライフバランスなどの要素も
総合的に考慮することが重要です。
Kindle Unlimitedは、Amazonが提供する
月額定額制の電子書籍サービスを活用します。
また、Kindle Unlimitedには、
体験版が提供されています。
体験版では、一定期間(通常は30日間)に限り、
Kindle Unlimitedのサービスを
無料で利用することができます。
1.豊富な書籍のラインナップ
Kindle Unlimitedには、幅広いジャンルの書籍が
数十万冊以上含まれています。
小説、ビジネス書、自己啓発書、
学術書、漫画など、
様々なテーマや興味に合わせて
多彩な選択肢があります。
2.サービスの内容を体験
体験版では、Kindle Unlimitedの全ての機能を使いながら、
豊富な書籍のラインナップや
読書体験を体験することができます。
自身の読書の好みや
利用頻度に合うかどうかを確認できます。
3.解約が可能
体験版期間中にKindle Unlimitedのサービスに
満足しなかった場合、
期限内に解約することができます。
その場合、追加料金はかかりません。
Kindle Unlimitedでは
さまざまなジャンルの書籍が提供されています。
ITエンジニアとしてスキルを向上させたり
新しい技術を学んだりする際に、
Kindle Unlimitedは
便利な資源となるのでおすすめです。
この記事へのコメントはありません。