[TIL] [Java] 0705
Javaオブジェクト向けプログラミング
:オブジェクトとは一般的に言われているもので、ここのものはデータだけでなく、データの操作方法に関する情報も含まれているため、その手法をオブジェクト向けと呼ぶ.
カスタム関数
:オブジェクトとは一般的に言われているもので、ここのものはデータだけでなく、データの操作方法に関する情報も含まれているため、その手法をオブジェクト向けと呼ぶ.
カスタム関数 public static int function(int a, int b) {
return 0;
}
charat()関数:input.charAt(input.length()-1); 時にinputに格納される文字列の最後の文字
3つの数の中で最大の値を検索public static int max(int a, int b) {
return (a>b) ? a:b;
}
public static int function(int a, int b, int c) {
int result = max(a,b);
result = max(result, c);
return result;
}
この方法で見つけやすいです.
さいきかんすう public static int factorial(int n) {
if(n == 1)
return 1;
else
return n * factorial(n - 1);
}
// 5! = 5 * 4! 이기 때문
整列 // 배열 선언
int[] array = new int[10];
// 배열에 채울 수 입력받아 채우기
Scanner sc = new Scanner(System.in);
for(int i=0; i<10; i++) {
array[i] = sc.nextInt();
}
(int) (Math.random() * 100+1);
1~100のランダム整数
たじゅうはいれつ
int[][] array = new int[10][10]
10 x 10の2 Dアレイ
カテゴリ
:オブジェクト向けプログラミングで最も基本的なもの.
利用類は現実世界の特定のものを指すことができる.
代表的なのはノードクラスです.
これは、場所または場所であってもよいし、データ構造ではバイナリナビゲーションツリーと呼ばれるバイナリナビゲーションツリーのサブツリーであってもよい.
また、開発プロジェクトでは、通常、Studentクラスなど、処理するデータ単位が指定されます.
ノードクラスの作成(Mainセクションは作成せず、選択されていないチェックボックスのみ作成)
public class Node {
// x, y 자체는 외부에서 접근할 수 없도록 private로 선언
private int x;
private int y;
// x를 외부에서 접근할 수 있는(얻는) 함수를 만들어줌(public)
public int getX() {
return x;
}
// x 값을 설정할 수 있도록 하는 함수
public void setX(int x) {
// 여기서 가지고 있는 고유한 x의 값을 인자로 받은 x값으로 바꾸어주기 위해서 this
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
// 생성자
// :인스턴스 즉, 객체를 만들어 줄 때 자동으로 값을 넣어주는(초기화 해주는) 함수
public Node(int x, int y) {
// 특징은 클래스와(Node) 같은 이름(Node)을 가짐
this.x = x;
this.y = y;
}
public Node getCenter(Node other) {
// 반환형이 Node
// 다른 점과 비교해 정 중앙을 반환하는 함수
return new Node((this.x + other.getX()) / 2, (this.y + other.getY()) / 2);
}
}
Mainクラス
public class Main {
public static void main(String[] args) {
Node one = new Node(10, 20);
Node two = new Node(30, 40);
// result는 one과 two의 정 중앙 좌표가 들어가게 됨.
Node result = one.getCenter(two);
System.out.println("x: " + result.getX() + ", y: " + result.getY());
}
}
出力された結果値は、1つと2つの中央のx:20、y:30です.
Mainドキュメントでのみ使用されます.
継承
Main文なしPersonクラスの作成private String name;
private int age;
private int height;
private int weight;
そうすると、右クリック->source->Generate getters and setters->selectallでgetterとsetterを簡単に作成できます.
(getterとsetterが存在するのは、セキュリティを確保するためであり、勝手にアクセスすることは許されない)
マウスの右ボタン->source->Fieldsを使用してパラメータを一度に初期化する関数も作成できます.(作成者)
そのうちsuper();つまり、自分の親クラスの作成者が実行されます.
Main文を持たないStudioクラスの作成public class Student extends Person {
private String studentID;
private int grade;
// GPA: 외국식 학점
private double GPA;
}
extends PersonはPersonクラスを継承します.
そうすると、sourceのGenerate Getters and Settersで作成されます.
(これは必要なプロセスで、ほとんど完成できます)
同様の方法でFieldsを使用してGenerate Constructorを作成することもできます.public void show() {
System.out.println("-----------------------------");
System.out.println("학생 이름: " + getName());
System.out.println("학생 나이: " + getAge());
System.out.println("학생 키: " + getHeight());
System.out.println("학생 몸무게: " + getWeight());
System.out.println("학번: " + getStudentID());
System.out.println("학년: " + getGrade());
System.out.println("학점: " + getGPA());
}
Studioクラスにshow()関数を作成します.
Mainクラスの作成
public class Main {
public static void main(String[] args) {
Student student1 = new Student("하", 23, 165, 55, "20181518", 4, 4.5);
Student student2 = new Student("윤경", 23, 170, 60, "20181515", 4, 4.5);
student1.show();
student2.show();
}
}
これらの継承コンテンツによって作成されたクラスを使用してstudent 1,2というオブジェクトを作成し、show()関数によって最終的に2人の学生の情報を出力します.
eこのようなオブジェクト向けの利点を見た
学生[i]=newStudent("ガーナ",23,165,50,i+",4,4.5);
i+""で整数をstringに変換できます.
抽象抽象
抽象クラスはオブジェクトインスタンスを直接作成できません.しかし、これは新しいクラスの作成に基礎的な役割を果たします.機能の観点から、クラスをフレームワークで作成できるように、ある程度事前に設計されています.
Playerという抽象クラスの作成abstract class Player {
abstract void play(String songName);
abstract void pause();
abstract void stop();
}
publicの代わりに抽象クラスを使用します.
Mainクラスでの実装
extends Playerを追加すると、警告をクリックしてフレームワークを作成し、「Add Unlemented Method」をクリックして実装できます.public class Main extends Player {
public static void main(String[] args) {
Main main = new Main();
main.play("Joakim Karud - Mighty Love");
main.pause();
main.stop();
}
@Override
void play(String songName) {
System.out.println(songName + " 곡을 재생합니다.");
}
@Override
void pause() {
System.out.println("곡을 일시정지합니다.");
}
@Override
void stop() {
System.out.println("곡을 정지합니다.");
}
}
最終的に,抽象クラスは実現しなければならない要素を教えてくれ,システムの観点から意味がある.
使用する関数の意味を定義します.
Final
:値の変更を防止し、上書き(再定義)を防止し、継承を不可能にします.
インタフェース
抽象クラスより抽象的です.(=事前に実施できず、設計しかできない)設計の本質.
Javaで多重継承を実現する高度なテクノロジー.
定義済みの抽象メトリックと定数が必要です.
チームプロジェクトの並列作業に有利であり、抽象的な要求よりも設計基準が高いため、より系統的な評価が得られている.
インタフェースには本当に設計するだけで、実際にコードを書くとエラーが発生します.(同じコードの場合はabtrate class dog、public interface dogは使用できません)// Dog 클래스
public interface Dog {
abstract void crying();
public void show();
}
eのようなインタフェースの場合,public void show()に実際のコードを含めることはできない.// Main 클래스
public class Main implements Dog {
public static void main(String[] args) {
Main main = new Main();
main.crying();
main.show();
}
@Override
public void crying() {
System.out.println("월월!");
}
@Override
public void show() {
System.out.println("Hello, World!");
}
}
しゅうたいたけいせい
オブジェクトオブジェクト
:オブジェクトクラスは、すべてのオブジェクトの祖先として使用されます.
実際、Javaでは、すべてのクラスがObjectクラスを暗黙的に継承しています.
📢
ほぼ2日間でJavaの記憶を復元
本当に全然覚えてないけど、東彬娜先生の授業を聞いて、基本的な枠組みを思い出してよかった
もっと問題を作って練習しなければならないようだ.
終わりだ!
Reference
この問題について([TIL] [Java] 0705), 我々は、より多くの情報をここで見つけました
https://velog.io/@dbsrud11/TIL-Java-0705
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
public static int function(int a, int b) {
return 0;
}
public static int max(int a, int b) {
return (a>b) ? a:b;
}
public static int function(int a, int b, int c) {
int result = max(a,b);
result = max(result, c);
return result;
}
public static int factorial(int n) {
if(n == 1)
return 1;
else
return n * factorial(n - 1);
}
// 5! = 5 * 4! 이기 때문
整列 // 배열 선언
int[] array = new int[10];
// 배열에 채울 수 입력받아 채우기
Scanner sc = new Scanner(System.in);
for(int i=0; i<10; i++) {
array[i] = sc.nextInt();
}
(int) (Math.random() * 100+1);
1~100のランダム整数
たじゅうはいれつ
int[][] array = new int[10][10]
10 x 10の2 Dアレイ
カテゴリ
:オブジェクト向けプログラミングで最も基本的なもの.
利用類は現実世界の特定のものを指すことができる.
代表的なのはノードクラスです.
これは、場所または場所であってもよいし、データ構造ではバイナリナビゲーションツリーと呼ばれるバイナリナビゲーションツリーのサブツリーであってもよい.
また、開発プロジェクトでは、通常、Studentクラスなど、処理するデータ単位が指定されます.
ノードクラスの作成(Mainセクションは作成せず、選択されていないチェックボックスのみ作成)
public class Node {
// x, y 자체는 외부에서 접근할 수 없도록 private로 선언
private int x;
private int y;
// x를 외부에서 접근할 수 있는(얻는) 함수를 만들어줌(public)
public int getX() {
return x;
}
// x 값을 설정할 수 있도록 하는 함수
public void setX(int x) {
// 여기서 가지고 있는 고유한 x의 값을 인자로 받은 x값으로 바꾸어주기 위해서 this
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
// 생성자
// :인스턴스 즉, 객체를 만들어 줄 때 자동으로 값을 넣어주는(초기화 해주는) 함수
public Node(int x, int y) {
// 특징은 클래스와(Node) 같은 이름(Node)을 가짐
this.x = x;
this.y = y;
}
public Node getCenter(Node other) {
// 반환형이 Node
// 다른 점과 비교해 정 중앙을 반환하는 함수
return new Node((this.x + other.getX()) / 2, (this.y + other.getY()) / 2);
}
}
Mainクラス
public class Main {
public static void main(String[] args) {
Node one = new Node(10, 20);
Node two = new Node(30, 40);
// result는 one과 two의 정 중앙 좌표가 들어가게 됨.
Node result = one.getCenter(two);
System.out.println("x: " + result.getX() + ", y: " + result.getY());
}
}
出力された結果値は、1つと2つの中央のx:20、y:30です.
Mainドキュメントでのみ使用されます.
継承
Main文なしPersonクラスの作成private String name;
private int age;
private int height;
private int weight;
そうすると、右クリック->source->Generate getters and setters->selectallでgetterとsetterを簡単に作成できます.
(getterとsetterが存在するのは、セキュリティを確保するためであり、勝手にアクセスすることは許されない)
マウスの右ボタン->source->Fieldsを使用してパラメータを一度に初期化する関数も作成できます.(作成者)
そのうちsuper();つまり、自分の親クラスの作成者が実行されます.
Main文を持たないStudioクラスの作成public class Student extends Person {
private String studentID;
private int grade;
// GPA: 외국식 학점
private double GPA;
}
extends PersonはPersonクラスを継承します.
そうすると、sourceのGenerate Getters and Settersで作成されます.
(これは必要なプロセスで、ほとんど完成できます)
同様の方法でFieldsを使用してGenerate Constructorを作成することもできます.public void show() {
System.out.println("-----------------------------");
System.out.println("학생 이름: " + getName());
System.out.println("학생 나이: " + getAge());
System.out.println("학생 키: " + getHeight());
System.out.println("학생 몸무게: " + getWeight());
System.out.println("학번: " + getStudentID());
System.out.println("학년: " + getGrade());
System.out.println("학점: " + getGPA());
}
Studioクラスにshow()関数を作成します.
Mainクラスの作成
public class Main {
public static void main(String[] args) {
Student student1 = new Student("하", 23, 165, 55, "20181518", 4, 4.5);
Student student2 = new Student("윤경", 23, 170, 60, "20181515", 4, 4.5);
student1.show();
student2.show();
}
}
これらの継承コンテンツによって作成されたクラスを使用してstudent 1,2というオブジェクトを作成し、show()関数によって最終的に2人の学生の情報を出力します.
eこのようなオブジェクト向けの利点を見た
学生[i]=newStudent("ガーナ",23,165,50,i+",4,4.5);
i+""で整数をstringに変換できます.
抽象抽象
抽象クラスはオブジェクトインスタンスを直接作成できません.しかし、これは新しいクラスの作成に基礎的な役割を果たします.機能の観点から、クラスをフレームワークで作成できるように、ある程度事前に設計されています.
Playerという抽象クラスの作成abstract class Player {
abstract void play(String songName);
abstract void pause();
abstract void stop();
}
publicの代わりに抽象クラスを使用します.
Mainクラスでの実装
extends Playerを追加すると、警告をクリックしてフレームワークを作成し、「Add Unlemented Method」をクリックして実装できます.public class Main extends Player {
public static void main(String[] args) {
Main main = new Main();
main.play("Joakim Karud - Mighty Love");
main.pause();
main.stop();
}
@Override
void play(String songName) {
System.out.println(songName + " 곡을 재생합니다.");
}
@Override
void pause() {
System.out.println("곡을 일시정지합니다.");
}
@Override
void stop() {
System.out.println("곡을 정지합니다.");
}
}
最終的に,抽象クラスは実現しなければならない要素を教えてくれ,システムの観点から意味がある.
使用する関数の意味を定義します.
Final
:値の変更を防止し、上書き(再定義)を防止し、継承を不可能にします.
インタフェース
抽象クラスより抽象的です.(=事前に実施できず、設計しかできない)設計の本質.
Javaで多重継承を実現する高度なテクノロジー.
定義済みの抽象メトリックと定数が必要です.
チームプロジェクトの並列作業に有利であり、抽象的な要求よりも設計基準が高いため、より系統的な評価が得られている.
インタフェースには本当に設計するだけで、実際にコードを書くとエラーが発生します.(同じコードの場合はabtrate class dog、public interface dogは使用できません)// Dog 클래스
public interface Dog {
abstract void crying();
public void show();
}
eのようなインタフェースの場合,public void show()に実際のコードを含めることはできない.// Main 클래스
public class Main implements Dog {
public static void main(String[] args) {
Main main = new Main();
main.crying();
main.show();
}
@Override
public void crying() {
System.out.println("월월!");
}
@Override
public void show() {
System.out.println("Hello, World!");
}
}
しゅうたいたけいせい
オブジェクトオブジェクト
:オブジェクトクラスは、すべてのオブジェクトの祖先として使用されます.
実際、Javaでは、すべてのクラスがObjectクラスを暗黙的に継承しています.
📢
ほぼ2日間でJavaの記憶を復元
本当に全然覚えてないけど、東彬娜先生の授業を聞いて、基本的な枠組みを思い出してよかった
もっと問題を作って練習しなければならないようだ.
終わりだ!
Reference
この問題について([TIL] [Java] 0705), 我々は、より多くの情報をここで見つけました
https://velog.io/@dbsrud11/TIL-Java-0705
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
// 배열 선언
int[] array = new int[10];
// 배열에 채울 수 입력받아 채우기
Scanner sc = new Scanner(System.in);
for(int i=0; i<10; i++) {
array[i] = sc.nextInt();
}
int[][] array = new int[10][10]
10 x 10の2 Dアレイ
カテゴリ
:オブジェクト向けプログラミングで最も基本的なもの.
利用類は現実世界の特定のものを指すことができる.
代表的なのはノードクラスです.
これは、場所または場所であってもよいし、データ構造ではバイナリナビゲーションツリーと呼ばれるバイナリナビゲーションツリーのサブツリーであってもよい.
また、開発プロジェクトでは、通常、Studentクラスなど、処理するデータ単位が指定されます.
ノードクラスの作成(Mainセクションは作成せず、選択されていないチェックボックスのみ作成)
public class Node {
// x, y 자체는 외부에서 접근할 수 없도록 private로 선언
private int x;
private int y;
// x를 외부에서 접근할 수 있는(얻는) 함수를 만들어줌(public)
public int getX() {
return x;
}
// x 값을 설정할 수 있도록 하는 함수
public void setX(int x) {
// 여기서 가지고 있는 고유한 x의 값을 인자로 받은 x값으로 바꾸어주기 위해서 this
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
// 생성자
// :인스턴스 즉, 객체를 만들어 줄 때 자동으로 값을 넣어주는(초기화 해주는) 함수
public Node(int x, int y) {
// 특징은 클래스와(Node) 같은 이름(Node)을 가짐
this.x = x;
this.y = y;
}
public Node getCenter(Node other) {
// 반환형이 Node
// 다른 점과 비교해 정 중앙을 반환하는 함수
return new Node((this.x + other.getX()) / 2, (this.y + other.getY()) / 2);
}
}
Mainクラス
public class Main {
public static void main(String[] args) {
Node one = new Node(10, 20);
Node two = new Node(30, 40);
// result는 one과 two의 정 중앙 좌표가 들어가게 됨.
Node result = one.getCenter(two);
System.out.println("x: " + result.getX() + ", y: " + result.getY());
}
}
出力された結果値は、1つと2つの中央のx:20、y:30です.
Mainドキュメントでのみ使用されます.
継承
Main文なしPersonクラスの作成private String name;
private int age;
private int height;
private int weight;
そうすると、右クリック->source->Generate getters and setters->selectallでgetterとsetterを簡単に作成できます.
(getterとsetterが存在するのは、セキュリティを確保するためであり、勝手にアクセスすることは許されない)
マウスの右ボタン->source->Fieldsを使用してパラメータを一度に初期化する関数も作成できます.(作成者)
そのうちsuper();つまり、自分の親クラスの作成者が実行されます.
Main文を持たないStudioクラスの作成public class Student extends Person {
private String studentID;
private int grade;
// GPA: 외국식 학점
private double GPA;
}
extends PersonはPersonクラスを継承します.
そうすると、sourceのGenerate Getters and Settersで作成されます.
(これは必要なプロセスで、ほとんど完成できます)
同様の方法でFieldsを使用してGenerate Constructorを作成することもできます.public void show() {
System.out.println("-----------------------------");
System.out.println("학생 이름: " + getName());
System.out.println("학생 나이: " + getAge());
System.out.println("학생 키: " + getHeight());
System.out.println("학생 몸무게: " + getWeight());
System.out.println("학번: " + getStudentID());
System.out.println("학년: " + getGrade());
System.out.println("학점: " + getGPA());
}
Studioクラスにshow()関数を作成します.
Mainクラスの作成
public class Main {
public static void main(String[] args) {
Student student1 = new Student("하", 23, 165, 55, "20181518", 4, 4.5);
Student student2 = new Student("윤경", 23, 170, 60, "20181515", 4, 4.5);
student1.show();
student2.show();
}
}
これらの継承コンテンツによって作成されたクラスを使用してstudent 1,2というオブジェクトを作成し、show()関数によって最終的に2人の学生の情報を出力します.
eこのようなオブジェクト向けの利点を見た
学生[i]=newStudent("ガーナ",23,165,50,i+",4,4.5);
i+""で整数をstringに変換できます.
抽象抽象
抽象クラスはオブジェクトインスタンスを直接作成できません.しかし、これは新しいクラスの作成に基礎的な役割を果たします.機能の観点から、クラスをフレームワークで作成できるように、ある程度事前に設計されています.
Playerという抽象クラスの作成abstract class Player {
abstract void play(String songName);
abstract void pause();
abstract void stop();
}
publicの代わりに抽象クラスを使用します.
Mainクラスでの実装
extends Playerを追加すると、警告をクリックしてフレームワークを作成し、「Add Unlemented Method」をクリックして実装できます.public class Main extends Player {
public static void main(String[] args) {
Main main = new Main();
main.play("Joakim Karud - Mighty Love");
main.pause();
main.stop();
}
@Override
void play(String songName) {
System.out.println(songName + " 곡을 재생합니다.");
}
@Override
void pause() {
System.out.println("곡을 일시정지합니다.");
}
@Override
void stop() {
System.out.println("곡을 정지합니다.");
}
}
最終的に,抽象クラスは実現しなければならない要素を教えてくれ,システムの観点から意味がある.
使用する関数の意味を定義します.
Final
:値の変更を防止し、上書き(再定義)を防止し、継承を不可能にします.
インタフェース
抽象クラスより抽象的です.(=事前に実施できず、設計しかできない)設計の本質.
Javaで多重継承を実現する高度なテクノロジー.
定義済みの抽象メトリックと定数が必要です.
チームプロジェクトの並列作業に有利であり、抽象的な要求よりも設計基準が高いため、より系統的な評価が得られている.
インタフェースには本当に設計するだけで、実際にコードを書くとエラーが発生します.(同じコードの場合はabtrate class dog、public interface dogは使用できません)// Dog 클래스
public interface Dog {
abstract void crying();
public void show();
}
eのようなインタフェースの場合,public void show()に実際のコードを含めることはできない.// Main 클래스
public class Main implements Dog {
public static void main(String[] args) {
Main main = new Main();
main.crying();
main.show();
}
@Override
public void crying() {
System.out.println("월월!");
}
@Override
public void show() {
System.out.println("Hello, World!");
}
}
しゅうたいたけいせい
オブジェクトオブジェクト
:オブジェクトクラスは、すべてのオブジェクトの祖先として使用されます.
実際、Javaでは、すべてのクラスがObjectクラスを暗黙的に継承しています.
📢
ほぼ2日間でJavaの記憶を復元
本当に全然覚えてないけど、東彬娜先生の授業を聞いて、基本的な枠組みを思い出してよかった
もっと問題を作って練習しなければならないようだ.
終わりだ!
Reference
この問題について([TIL] [Java] 0705), 我々は、より多くの情報をここで見つけました
https://velog.io/@dbsrud11/TIL-Java-0705
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
public class Node {
// x, y 자체는 외부에서 접근할 수 없도록 private로 선언
private int x;
private int y;
// x를 외부에서 접근할 수 있는(얻는) 함수를 만들어줌(public)
public int getX() {
return x;
}
// x 값을 설정할 수 있도록 하는 함수
public void setX(int x) {
// 여기서 가지고 있는 고유한 x의 값을 인자로 받은 x값으로 바꾸어주기 위해서 this
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
// 생성자
// :인스턴스 즉, 객체를 만들어 줄 때 자동으로 값을 넣어주는(초기화 해주는) 함수
public Node(int x, int y) {
// 특징은 클래스와(Node) 같은 이름(Node)을 가짐
this.x = x;
this.y = y;
}
public Node getCenter(Node other) {
// 반환형이 Node
// 다른 점과 비교해 정 중앙을 반환하는 함수
return new Node((this.x + other.getX()) / 2, (this.y + other.getY()) / 2);
}
}
public class Main {
public static void main(String[] args) {
Node one = new Node(10, 20);
Node two = new Node(30, 40);
// result는 one과 two의 정 중앙 좌표가 들어가게 됨.
Node result = one.getCenter(two);
System.out.println("x: " + result.getX() + ", y: " + result.getY());
}
}
Main文なしPersonクラスの作成
private String name;
private int age;
private int height;
private int weight;
そうすると、右クリック->source->Generate getters and setters->selectallでgetterとsetterを簡単に作成できます.(getterとsetterが存在するのは、セキュリティを確保するためであり、勝手にアクセスすることは許されない)
マウスの右ボタン->source->Fieldsを使用してパラメータを一度に初期化する関数も作成できます.(作成者)
そのうちsuper();つまり、自分の親クラスの作成者が実行されます.
Main文を持たないStudioクラスの作成
public class Student extends Person {
private String studentID;
private int grade;
// GPA: 외국식 학점
private double GPA;
}
extends PersonはPersonクラスを継承します.そうすると、sourceのGenerate Getters and Settersで作成されます.
(これは必要なプロセスで、ほとんど完成できます)
同様の方法でFieldsを使用してGenerate Constructorを作成することもできます.
public void show() {
System.out.println("-----------------------------");
System.out.println("학생 이름: " + getName());
System.out.println("학생 나이: " + getAge());
System.out.println("학생 키: " + getHeight());
System.out.println("학생 몸무게: " + getWeight());
System.out.println("학번: " + getStudentID());
System.out.println("학년: " + getGrade());
System.out.println("학점: " + getGPA());
}
Studioクラスにshow()関数を作成します.Mainクラスの作成
public class Main {
public static void main(String[] args) {
Student student1 = new Student("하", 23, 165, 55, "20181518", 4, 4.5);
Student student2 = new Student("윤경", 23, 170, 60, "20181515", 4, 4.5);
student1.show();
student2.show();
}
}
これらの継承コンテンツによって作成されたクラスを使用してstudent 1,2というオブジェクトを作成し、show()関数によって最終的に2人の学生の情報を出力します.eこのようなオブジェクト向けの利点を見た
学生[i]=newStudent("ガーナ",23,165,50,i+",4,4.5);
i+""で整数をstringに変換できます.
抽象抽象
抽象クラスはオブジェクトインスタンスを直接作成できません.しかし、これは新しいクラスの作成に基礎的な役割を果たします.機能の観点から、クラスをフレームワークで作成できるように、ある程度事前に設計されています.
Playerという抽象クラスの作成abstract class Player {
abstract void play(String songName);
abstract void pause();
abstract void stop();
}
publicの代わりに抽象クラスを使用します.
Mainクラスでの実装
extends Playerを追加すると、警告をクリックしてフレームワークを作成し、「Add Unlemented Method」をクリックして実装できます.public class Main extends Player {
public static void main(String[] args) {
Main main = new Main();
main.play("Joakim Karud - Mighty Love");
main.pause();
main.stop();
}
@Override
void play(String songName) {
System.out.println(songName + " 곡을 재생합니다.");
}
@Override
void pause() {
System.out.println("곡을 일시정지합니다.");
}
@Override
void stop() {
System.out.println("곡을 정지합니다.");
}
}
最終的に,抽象クラスは実現しなければならない要素を教えてくれ,システムの観点から意味がある.
使用する関数の意味を定義します.
Final
:値の変更を防止し、上書き(再定義)を防止し、継承を不可能にします.
インタフェース
抽象クラスより抽象的です.(=事前に実施できず、設計しかできない)設計の本質.
Javaで多重継承を実現する高度なテクノロジー.
定義済みの抽象メトリックと定数が必要です.
チームプロジェクトの並列作業に有利であり、抽象的な要求よりも設計基準が高いため、より系統的な評価が得られている.
インタフェースには本当に設計するだけで、実際にコードを書くとエラーが発生します.(同じコードの場合はabtrate class dog、public interface dogは使用できません)// Dog 클래스
public interface Dog {
abstract void crying();
public void show();
}
eのようなインタフェースの場合,public void show()に実際のコードを含めることはできない.// Main 클래스
public class Main implements Dog {
public static void main(String[] args) {
Main main = new Main();
main.crying();
main.show();
}
@Override
public void crying() {
System.out.println("월월!");
}
@Override
public void show() {
System.out.println("Hello, World!");
}
}
しゅうたいたけいせい
オブジェクトオブジェクト
:オブジェクトクラスは、すべてのオブジェクトの祖先として使用されます.
実際、Javaでは、すべてのクラスがObjectクラスを暗黙的に継承しています.
📢
ほぼ2日間でJavaの記憶を復元
本当に全然覚えてないけど、東彬娜先生の授業を聞いて、基本的な枠組みを思い出してよかった
もっと問題を作って練習しなければならないようだ.
終わりだ!
Reference
この問題について([TIL] [Java] 0705), 我々は、より多くの情報をここで見つけました
https://velog.io/@dbsrud11/TIL-Java-0705
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
abstract class Player {
abstract void play(String songName);
abstract void pause();
abstract void stop();
}
public class Main extends Player {
public static void main(String[] args) {
Main main = new Main();
main.play("Joakim Karud - Mighty Love");
main.pause();
main.stop();
}
@Override
void play(String songName) {
System.out.println(songName + " 곡을 재생합니다.");
}
@Override
void pause() {
System.out.println("곡을 일시정지합니다.");
}
@Override
void stop() {
System.out.println("곡을 정지합니다.");
}
}
:値の変更を防止し、上書き(再定義)を防止し、継承を不可能にします.
インタフェース
抽象クラスより抽象的です.(=事前に実施できず、設計しかできない)設計の本質.
Javaで多重継承を実現する高度なテクノロジー.
定義済みの抽象メトリックと定数が必要です.
チームプロジェクトの並列作業に有利であり、抽象的な要求よりも設計基準が高いため、より系統的な評価が得られている.
インタフェースには本当に設計するだけで、実際にコードを書くとエラーが発生します.(同じコードの場合はabtrate class dog、public interface dogは使用できません)// Dog 클래스
public interface Dog {
abstract void crying();
public void show();
}
eのようなインタフェースの場合,public void show()に実際のコードを含めることはできない.// Main 클래스
public class Main implements Dog {
public static void main(String[] args) {
Main main = new Main();
main.crying();
main.show();
}
@Override
public void crying() {
System.out.println("월월!");
}
@Override
public void show() {
System.out.println("Hello, World!");
}
}
しゅうたいたけいせい
オブジェクトオブジェクト
:オブジェクトクラスは、すべてのオブジェクトの祖先として使用されます.
実際、Javaでは、すべてのクラスがObjectクラスを暗黙的に継承しています.
📢
ほぼ2日間でJavaの記憶を復元
本当に全然覚えてないけど、東彬娜先生の授業を聞いて、基本的な枠組みを思い出してよかった
もっと問題を作って練習しなければならないようだ.
終わりだ!
Reference
この問題について([TIL] [Java] 0705), 我々は、より多くの情報をここで見つけました
https://velog.io/@dbsrud11/TIL-Java-0705
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
// Dog 클래스
public interface Dog {
abstract void crying();
public void show();
}
// Main 클래스
public class Main implements Dog {
public static void main(String[] args) {
Main main = new Main();
main.crying();
main.show();
}
@Override
public void crying() {
System.out.println("월월!");
}
@Override
public void show() {
System.out.println("Hello, World!");
}
}
オブジェクトオブジェクト
:オブジェクトクラスは、すべてのオブジェクトの祖先として使用されます.
実際、Javaでは、すべてのクラスがObjectクラスを暗黙的に継承しています.
📢
ほぼ2日間でJavaの記憶を復元
本当に全然覚えてないけど、東彬娜先生の授業を聞いて、基本的な枠組みを思い出してよかった
もっと問題を作って練習しなければならないようだ.
終わりだ!
Reference
この問題について([TIL] [Java] 0705), 我々は、より多くの情報をここで見つけました
https://velog.io/@dbsrud11/TIL-Java-0705
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
ほぼ2日間でJavaの記憶を復元
本当に全然覚えてないけど、東彬娜先生の授業を聞いて、基本的な枠組みを思い出してよかった
もっと問題を作って練習しなければならないようだ.
終わりだ!
Reference
この問題について([TIL] [Java] 0705), 我々は、より多くの情報をここで見つけました https://velog.io/@dbsrud11/TIL-Java-0705テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol