Skip to content

Latest commit

 

History

History
143 lines (97 loc) · 6.35 KB

File metadata and controls

143 lines (97 loc) · 6.35 KB

8.メソッドとクラス

8.0.簡単な説明

  • メソッド

メソッドとは処理をまとめて汎用的に使えるようにする仕組みです 他のプログラミング言語でいう関数のようなものです。 メソッドは、プログラムの可読性を高め、重複するコードを避けることができます。

  • クラス

クラスとは、オブジェクト指向プログラミングにおいて、複数のオブジェクトが共通して持つデータ構造とメソッドを定義するためのテンプレートのようなものです。 クラスは、プログラムの機能を単一の単位に分割し、プログラムの構造を明確化するために使用されます。

  • パッケージ

パッケージとは、関連するクラスやインタフェースをまとめ、同じパッケージに属するクラスインタフェースをグループ化するための仕組みです。 パッケージは、Javaプログラムの構成要素の1つであり、パッケージ内には複数のJavaクラスを含むことができます。

8.1. classとは

Javaにおけるクラスとは、オブジェクト指向プログラミングにおいて、複数のオブジェクトが共通して持つデータ構造とメソッドを定義するためのテンプレートのようなものです。

クラスは、オブジェクトの設計図として機能し、同じクラスから複数のオブジェクトを作成することができます。 クラスは、オブジェクトが持つ属性(データメンバーまたはフィールド)や、オブジェクトに対して行われる操作(メソッド)を定義します。

アクセス修飾子 class クラス名 {
    フィールド定義
    メソッド定義
}

アクセス修飾子はクラスの可視性を指定します。 クラス名は、クラスの名前を指定します。 フィールド定義は、クラスが持つ属性を定義します。 メソッド定義は、クラスが持つ操作を定義します。

classは以下のように使用します

クラス名 オブジェクト名 = new クラス名();

ここで、クラス名は、作成するオブジェクトのクラスを指定します。オブジェクト名は、作成されたオブジェクトを参照するための変数名です。 newキーワードは、オブジェクトを作成するために使用されます。このことをインスタンス化といいます

クラスを使用することで、コードの再利用性や保守性が向上し、プログラムの開発をより効率的に行うことができます。 また、クラスは、異なるオブジェクトの間でデータを共有するための手段として機能し、オブジェクト指向プログラミングの主要な概念の1つとして重要です。

8.2. methodとは

メソッドにはインスタンスメソッドとクラスメソッドと呼ばれるものがあります。

メソッドの宣言例:

修飾子 戻り型 メソッド名 (引数型 引数名){
    メソッド本体
    return 戻り値;
}

修飾子 void メソッド名 (引数型 引数名){
    メソッド本体
}

メソッド本体は、メソッドが実際に実行するコードであり、波かっこで囲まれたブロックで表されます。 メソッドは、戻り値を返すことができ、戻り値の型はメソッドの宣言に合わせます。戻り値がない場合は、戻り値の型はvoidとなります。

また、メソッドは、プログラムの機能を単一のブロックにカプセル化し、再利用可能なモジュールとして抽象化することができます。

例として次のようなコードがあったとします。

int sa = a + b / 2 - ( 100 * a + 10 * b );
int sb = b + c / 2 - ( 100 * b + 10 * c );
int sc = c + d / 2 - ( 100 * c + 10 * d );

メソッドを使う事で上のコードを以下のように書き換えることができます。

private int calculate(int x, int y){
    return x + y / 2 - ( 100 * x + 10 * y );
}

int sa = calculate(a,b);
int sb = calculate(b,c);
int sc = calculate(c,d);

8.1.2. コンストラクタ

メソッドの一部にコンストラクタというものがあります。

コンストラクタとは、クラスからオブジェクトを作成した際に、自動的に実行されるメソッドのことです

メンバ変数の初期化などの主に行います。 コンストラクタはクラス名と同じ名前となり、戻り値のないメソッドです。

class C{
    private int n;
    private int m;
    C(int n , int m){
        this.n = n;
        this.m = m;
    }

    public void show(){
        System.out.println(n + m);
    }
}
class Main{
    //インスタンス化する際にメンバ変数を初期化できる
    C c = new C(100,200); 
    c.show(); // 300
}

8.3. packageとは

Javaのパッケージは、関連するクラスをグループ化して、プログラムの構造を整理するための仕組みです。 パッケージは、クラスインタフェース列挙型などの型を含むことができます。Javaのパッケージは、クラス名の衝突を避けるためにも重要な役割を果たします。

Javaでは、パッケージ名はドメイン名を逆順にしたものが一般的に使用されます。 例えば、example.comドメインの場合、パッケージ名はcom.exampleとなります。パッケージ名は、ソースコードの先頭に「package」キーワードを使って指定されます。 インポートする場合このような宣言をします。

import com.example;

クラスとパッケージの関係性は、パッケージがクラスを含むことで構成されます。Javaのクラスは、同じパッケージ内にある場合、パッケージ名を指定することなく直接アクセスすることができます。また、異なるパッケージにあるクラスを使用する場合、import文を使って明示的にインポートする必要があります。