Javaのクラスを極める!オブジェクト・インスタンスなどの概念。APIコラム海外エンジニアエンジニア論PC機器・書籍HOMEJavaJava入門Javaのクラスを極める!オブジェクト・インスタンスなどの概念。Javaのクラスを極める!オブジェクト・インスタンスなどの概念。初心者向けこの記事では、Javaの「クラス」とそれにまつわる多くの用語を勉強する。クラスはオブジェクト指向言語であるJavaを理解するうえでもっとも重要なコンセプトだ。Javaのプロジェクトを制作するうえで要となってくる要素なのでしっかりと理解しておきたい。抽象クラスといった高度なクラスの使い方について知りたい人はこちらの記事を参考にしてほしい。UgoCompiler当サイトでは、自作のJavaCompiler「UgoCompiler」を用意している。UgoCompilerを使えばオンライン上で気軽に自分の書いたコードを実行することができる。(下の写真をクリックすると新しいタブで開きます。今回はまずクラスに関連する用語を理解するところから始めよう。クラスとは?まずはこの記事のテーマである「クラス」について。クラスはJavaのプロジェクトにおけるひとつの構成単位。class修飾子によって定義されており、変数やメソッドなどの要素を含む。オブジェクトとは?次にオブジェクト指向という言葉の由来にもなっている「オブジェクト」という概念について考えてみよう。オブジェクトは私たちが住んでいる世界に存在する人や物を型にあてはまて定義したものと考えるとわかりやすい。いくつか例を挙げてみよう。車を表すオブジェクト。メーカー・車種・馬力などのプロパティを持つ。インスタンスとは?インスタンスはクラスという雛形から作られる実体と考えるといいだろう。コード内でインスタンスを作ることを「インスタンスを生成する」などとという。次に商品をモデルにしたクラス「Prodcut」を例にしてクラスの使い方を勉強していこう。}}クラスを宣言するクラスの宣言はclass修飾子を使っておこなう。例としてクラス名がProductの場合は以下のような記述となる。クラスの中身を記述する。}クラスをpublicで定義する場合はそのクラスを同じ名前のファイル内に作る必要がある。メソッドの順に書かれる。フィールドフィールドとはクラス内に定義された変数や定数のことを指す。例のコードではid・name・priceの3つの変数がフィールドとなる。price;コンストラクタコンストラクタはクラスからインスタンスを生成するために必要となる。例のコードでは次の2つのコンストラクタが定義されている。price;}ひとつ目のコンストラクタはインスタンスを生成する際にその要素の指定をおこなわない。ふたつ目のコンストラクタでは、引数としてid・name・priceの3つを渡さないといけない。渡された引数はすぐにフィールドとして代入される。サンプルのコードでは、ふたつ目のコンストラクを使用している。98000);コンストラクタを記述しない場合は、デフォルトコンストラクタと呼ばれる引数無しのコンストラクタが自動で生成される。メソッドメソッドはプログラムに対する処理をおこなう。メソッドの数やひとつのメソッドの長さはクラスの内容や役割により大きく異なる。メソッドは関数やファンクションとも呼ばれる。この例では、Getter・Setterと呼ばれるフィールドにアクセスするために必要となるメソッドが定義されている。price;}クラスの種類クラスには様々な役割を持たせることができるが、よくある使われ方は以下のように分類できる。オブジェクトを定義するクラス。オブジェクトについては次の項で説明する。バックエンドとのコミュニケーションの際に使われるクラスはDTOクラスと呼ばれる。再利用可能なメソッドを集めたクラス。ユーティリティクラスに属するメソッドはStaticメソッドとして定義されることが多い。オブジェクトではない要素をオブジェクトとして使用する場合に用いられるクラス。その他にも、クラスにまつわる用語には以下のようなものがある。クラスの持つ修飾子による分類。クラスの構造による分類。親クラス・子クラス・スーパークラスなどは継承のテーマの中で説明する。執筆者:久野嘉樹ドイツ・ベルリン在住のフロントエンド・エンジニア。ドイツにてプログラマのための職業訓練プログラム(インターン2社を含む)を終了したのち、医療関係のソフトウェア会社にてフルスタック・エンジニアとして、様々な開発現場に参加する。現在はドイツの大手SIerにてシニアデベロッパーとして有名企業を顧客とする大規模開発に従事する。Java・TypeScriptをメインに業務管理ソフト・ウェブアプリケーションやAndroidアプリなどの開発経験を持つ。現在はSPA(シングルページアプリケーション)のスペシャリストとしてAngularをメインにフロントエンドの開発に携わる。2009年よりドイツに在住。ドイツ語能力はC1レベル。publicでのスコープを確認する。いったJavaのアクセス修飾子について勉強する。プログラマはアクセス修飾子を使いこなすことによって、変[...]Javaの算術演算子(四則演算)を極める!余りの計算やシフト演算も覚える。2021.05.13この記事では、Javaでの計算方法やそのために使用する演算子について勉強していく。2021.04.22この記事では、Javaのメソッド(関数)について使い方を勉強していこう。【2023年】TypeScriptのおすすめ書籍5冊!レベル別に入門書からプロ向けまで紹介。2023.05.14【2023年】JavaScriptのおすすめ本7選!入門者・初心者向けにセレクト。2023.03.04HTMLテーブルで表をデザインする!セルの結合・枠線を付ける・レスポンシブ対応など。2023.01.21CSSグリッドレイアウトを極める!基本的な使い方とプロパティの一覧。2023.01.07【2023年】人気のヘッドレスCMSを徹底比較!Contentful・Strapi・Hygraphなど。JSフレームワーク徹底比較!JavaScript実践VSCodeでReactの開発を行う!React開発者のためのオススメ拡張機能。同一オリジンポリシーを理解する。APIコラム海外エンジニアエンジニア論PC。