航行99|[WIL]第2週-オブジェクト向けプログラミング,JVM
オブジェクト向けプログラミング(OOP)
オブジェクト向けは,我々が生きている世界をモデルとした開発手法であり,プログラムを命令リストと見なす観点から,プログラムを複数の独立した単位「オブジェクト」の集合と見なす.
[ソース]休蒙実験室
オブジェクト向けだけでなく、プロセス向けもあります.プロセスガイドは上のグラフのように、開始基準に従って順番にプログラミングされます.順序が間違ったり、途中でエラーが発生したりすると、プログラミング全体にエラーが発生します.これは順序処理を重視する方法です.
逆に,オブジェクト向けは順序に関係なく独立してオブジェクトによってインタラクティブに設計でき,1つのオブジェクトにエラーが発生しても他のオブジェクトに影響を及ぼさない.
1.OOPのコンポーネント
オブジェクト向けプログラミングは主にクラスとオブジェクトから構成されます.
クラス(Class)
オブジェクトを定義する概略図
プロパティとメソッドを定義してオブジェクトを作成し、インスタンスを作成して複数のオブジェクトを作成できます.
類-フナ餅型
対象-小豆フナ、クリームフナ、ピザフナ
クラスコンポーネント
-クラスに含まれる変数
-宣言された位置に基づいてメンバー変数(クラス変数/インスタンス変数)とゾーン変数に分けられます.
オブジェクト/インスタンス
インスタンスは、クラスで作成されたオブジェクトです.
クラス内でオブジェクトを作成するプロセスをインスタンス化と呼び、通常はオブジェクト=インスタンスに使用されます.
属性と機能は、他のオブジェクトと明確に区別できる必要があります.
例
// 클래스
class Person {
// 멤버 변수
String name;
String sex;
int age;
// 생성자
Person(String name, String sex, int age) {
this.name = name;
this.age = age;
this.sex = sex;
}
// 메서드
void getName(String name) {
System.out.printf("내 이름은 %s이다.\n", name);
}
// 메서드
String getPersonInfo() {
return String.format("name: %s, sex: %s, age: %d", name, sex, age);
}
}
public class Korean {
public static void main(String[] args) {
// 인스턴스 생성
Person person = new Person("김하니", "female", 25);
// 메서드 호출
person.getName("홍길동");
System.out.println(person.getPersonInfo());
}
}
2.オブジェクト向けプログラミングの三要素
上述したのはオブジェクト向けプログラミングではなく、オブジェクト向けプログラミングの説明に近いものであり、オブジェクト向けプログラミングとは、オブジェクト向けプログラミングの3つの要素をよく結合したプログラムである.
パッヶージ
関連する変数とメソッドを分類することで、情報を非表示にします.
オブジェクトには、外部から内部情報にアクセスできないフィールドとメソッドでのみアクセスできます.
継承
子クラスは親クラスの変数とメソッドを継承します.
効率化のためのコードの削減
たけいせい
1つのオブジェクトには複数の外観があります.
Overrriding
継承メソッドの役割の再定義
talk()メソッドがあれば、Aのtalk()は高速で、Bのtalk()はソフトで、キャラクタを再定義できます.
→継承により機能拡張が容易
Overloading
1つのクライアントに複数の同じ名前のメソッドがあります.
class Personではeat()の方法はeat(ガム)でもeat(肉)でもeat(ガム、肉)でもよい.
→コード量を減らす
(多形性が保証されない場合はeatGum()、eatMeat()のように分けて処理する必要があります)
3.対象向けのメリットとデメリット
長所
短所
JVM
1.JVMとは?
Java Virtual Machineの略で、Java Byteコードをオペレーティングシステムとして解釈します.Java CompilerJavaファイルをJavaバイトコード(.class)に変換することで、JVMはJavaバイトコードを解釈し、オペレーティングシステムがJavaバイトコードを機械言語ではなく理解できるようにします.
Byteコードは、オペレーティングシステムに依存せずにJVMによって実行され、Javaファイルを作成するだけで、任意のデバイス上でJVM上で実行できます.
Java実行プロセス[自動化
プログラム実行後、JVMはオペレーティングシステムからプログラムに必要なメモリ割り当てを取得する
Java AMは用途に応じてメモリを複数の領域に分割して管理を開始する
JAvaコンパイラ(javac)javaソース(.java)を取得してJavaバイトコード(.class)に変換
Class LoaderclassファイルをJVMにロードする
ロードされました.クラスファイルはエンジン解析を実行する
解析Java byte code(.class)はRuntime Data Areasで実行されます
Reference
この問題について(航行99|[WIL]第2週-オブジェクト向けプログラミング,JVM), 我々は、より多くの情報をここで見つけました https://velog.io/@hyemco/항해99-WIL-2주차-객체지향-프로그래밍-JVMテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol