본문 바로가기

IT自主学習 (2023.05.23~)/Java(2023.05.23~)

プログラミング自主学習 42日目 Method(overloading)/Instance Member/Static Member

Method オーバーローディング

同じ名前のMethodに、パラメータのタイプ、個数、順序が異なるメソッドを宣言んすることだ。

 

<Library Class>

package ch06.sec08.exam04;

 

public class Calculator {

//정사각형의 넓이

double areaRectangle(double width) {

return width*width;

}

 

//직사각형의 넓이

double areaRectangle(double width, double height) {

return width*height;

}

}

 

<Main Class>

package ch06.sec08.exam04;

 

public class CalculatorExample {

public static void main(String[] args) {

//객체 생성

Calculator myCalcu = new Calculator();

 

//정사각형의 넓이 구하기

double result1 = myCalcu.areaRectangle(10);

 

//직사각형의 넓이 구하기

double result2 = myCalcu.areaRectangle(10, 20);

 

System.out.println("정사각형 넓이=" + result1);

System.out.println("직사각형 넓이=" + result2);

 

     }

 

  }

 

 

 <RESULT>

정사각형 넓이=100.0

직사각형 넓이=200.0

 

 

Member

種類 説明
Instance Member オブジェクト(Instance)に所属しているメンバー
(オブジェクトを生成するおとで、使用できる)
Static Member Classに固定されているメンバー
(オブジェクトなしでも、使用できる)

 

Instance Member

 

Car myCar =new Car();                          Car yourCar = new Car();
myCar.gas = 10;                                     yourCar.gas =20;
myCar.setSpeed(60);                             yourCar.setSpped(80);

インスタスメンバーはオブジェクトに属ているメンバーだ。

gasフィールドは、ヒープ領域それぞれのオブジェクトに属している。

しかし、メソッドはオブジェクトではなく、メソッド領域に保存され、共有されている。

 

Static Member(Class Member, 静的メンバー)

静的メンバー(static member)と呼びあれ、静的フィールドと静的メソッドがある。

JavaはClass loaderを利用して、クラスをメソッド領域に保存して、使用する。

静的メソッドとは、メソッド領域のクラスに固定して位置しているメンバーだ。

そのため、静的メンバーはオブジェクト(インスタンス)を生成せずに、

Classを経由してすぐ使用することができる。

 

1. クラスを呼び出すことで、どこでも利用できるため、グロバール変数としても活用される。

こちらが一番大きな目的だ。

 

2. 静的フィールドはインスタンスが生成されても持たない。共通的に利用されて欲しいデーターを静的フィールドにする。(例>Math.PI )

3. 静的メソッドは主に同じロジックを持っているクラスでアーギュメントを処理することも多い。

(例>Math.add(1,2))

 

 

 

https://blog.naver.com/heartflow89/220954420688https://m.blog.naver.com/PostView.naver?

 

[JAVA/자바] 메모리 구조(static, stack, heap)

 이번 글은 자바(JAVA)를 사용하는 입장에서 알아야 할 메모리 구조 및 특징에 대해서 알아...

blog.naver.com

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=heartflow89&logNo=220959033435 

 

[JAVA/자바] 정적 멤버(필드, 메소드)와 static

 이전 포스팅은 인스턴스 멤버에 대해서 알아보았고 반드시 객체를 통해서만 접근이 가능했다. 그러면...

blog.naver.com

 

<注意点>

Static Memberは、Instance Memberを使用することができない。

Instance Memberは、Static Memberを使用することができる。

 

たこ焼きがたこ焼きの機会に属性を変更することは変実ではできるが、

JAVAではできるため、要注意だ!

 

 

Static block

Static Fieldはフィールド宣言と同時に宣言することが一般的だ。

 

static double pi = 3.14159;

しかし、複雑な初期化が必要な場合は、static blockを利用する。

 

static String company = "MyCompany";
static String model = "LCD";
static String info;

static{
   info = company + "-"  + model;
 }