Java 9のJShellでカプセル化の概念を実装する方法
JShell(Java Shell)とは
JShell(Java Shell)は、Javaの学習やコードのプロトタイピングに役立つREPL(Read-Eval-Print Loop)型の対話ツールです。入力された宣言、ステートメント、式をその場で評価し、結果を即座に出力します。コマンドラインから起動して手軽に利用できるため、小さなコード断片を素早く試すのに最適です。
カプセル化(Encapsulation)とは
カプセル化は、Javaにおける重要なオブジェクト指向の概念の一つで、「センシティブな(機密性の高い)データ」をユーザーから隠蔽することを目的としています。これを実現するには、クラス変数をprivateとして宣言し、外部からはpublicなgetterメソッドとsetterメソッドを通じてのみ値の取得・更新を行えるようにします。
以下のコードスニペットでは、Employeeクラスに対してカプセル化の概念を実装しています。フィールドはすべてprivateで宣言され、値へのアクセスはpublicなgetterメソッド経由でのみ可能になっています。
jshell> class Employee {
...> private String firstName;
...> private String lastName;
...> private String designation;
...> private String location;
...> public Employee(String firstName, String lastName, String designation, String location) {
...> this.firstName = firstName;
...> this.lastName = lastName;
...> this.designation = designation;
...> this.location = location;
...> }
...> public String getFirstName() {
...> return firstName;
...> }
...> public String getLastName() {
...> return lastName;
...> }
...> public String getJobDesignation() {
...> return designation;
...> }
...> public String getLocation() {
...> return location;
...> }
...> public String toString() {
...> return "Name = " + firstName + ", " + lastName + " | " +
...> "Job designation = " + designation + " | " +
...> "location = " + location + ".";
...> }
...> }
| created class Employee続いて、以下のコードスニペットではEmployeeクラスのインスタンスを生成し、名前(name)、役職(designation)、勤務地(location)を出力しています。toString()メソッドが自動的に呼び出され、オブジェクトの内容が整形されて表示される点にも注目してください。
jshell> Employee emp = new Employee("Jai", "Adithya", "Content Developer", "Hyderabad");
emp ==> Name = Jai, Adithya | Job designation = Content Developer | location = Hyderabad.このように、JShellを使えばカプセル化のようなオブジェクト指向の基本概念も、クラス定義からインスタンス生成までを対話的に素早く検証できます。privateフィールドに直接アクセスしようとするとエラーになるため、データ隠蔽の効果もその場で確認できるでしょう。
-
Java 9のJShellでデフォルトエディタを変更する方法
JShellは、Java 9から導入されたREPL(Read-Evaluate-Print Loop)ツールです。コマンドラインからコードを読み込み、入力されたスニペットを評価し、その結果を画面に出力してくれます。 JShellのデフォルトエディタを変更する手順 JShellでは、デフォルトの「JShell Editor Pad」を使ってコードを編集できます。さらに、「/set」コマンドを使用すれば、デフォルトエディタを別のものに変更することも可能です。「/edit」コマンドを実行すると、設定されたエディタが起動されます。エディタを変更するには、次のコマンドを実行します。 /set edito
-
JavaでJTableに検索機能を実装する方法をわかりやすく解説
JTableは、複雑なデータ構造を表形式で表示するためのSwingコンポーネントで、JComponentのサブクラスです。JTableはMVC(Model View Controller)デザインパターンに従って設計されており、データを行と列の形式で画面に表示できます。また、TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListener、RowSorterListenerといった各種リスナーインターフェースを利用することで、柔軟なイベント処理が可能です。JTableに検索機能を実装するには