★公費支援9日目(対象)★
1.対象
この文章では、授業で学んだオブジェクトに関する概念を整理し、オブジェクトを作成し、クラスを通じてオブジェクトを呼び出す方法を作成します.
this:現在のオブジェクト(共通string nameのname)
ゾーン変数vsフィールド(==インスタンス変数、グローバル変数、クラス変数、メンバー変数)
-同じ名前を使用できます.
-メソッドで領域変数を選択します.
-this.変数名として、フィールドが選択されます.
=========================
MyClass 01のMymethod 01を呼び出しました...
MyClassのMyMethod 02を呼び出しました...
こんにちはMYCLSS 01タイプです
私の名前は方法の中で創造した名前ですハハ
私の年齢は20歳です.
こんな結果になった.
.
.
.
.
🚩 学習対象者が知っていることは、次のことです.
-ゾーン変数stack
-インスタンス変数(メンバー変数)heap
-クラス変数(static)
-クラス-->メンバー変数
-メソッドの内部-->領域変数(メソッドの実行時にメモリに作成され、メモリが閉じたときに消えます).
また、オブジェクトとインスタンスは同じ概念であり、オブジェクトがheapメモリに割り当てられていることがわかります.
2.オブジェクトサービスを使用してゲームを作成する
1週間前、私はコントロールドアでじゃんけんゲームとバックシュートゲームをしました.対象を利用して西道よりも複雑なゲームを簡潔にすることができます.
(1)上下ゲーム
制御ゲートを介してコンピュータのランダム値を受信すると、Math.random関数を用いて,二重値をランダム値に直接変換した.
オブジェクトを作成すると、
int a = new Random().nextInt(50);
// Random randomObject = new Random();
// int r = randomObject .nextInt(50);
このようなオブジェクトを作成すると,より異なる方法でランダム値が得られやすくなる点が斬新である.
(2)石はさみゲームとup&downゲームのミックス
ゲームの動作を確認できます.
(3)カフェサービスの利用
この文章では、授業で学んだオブジェクトに関する概念を整理し、オブジェクトを作成し、クラスを通じてオブジェクトを呼び出す方法を作成します.
public class MyClass01 {
//객체 생성
//객체의 메소드 호출
public String name;
public int age;
public void introduce() {
this.name = "메소드 안에서 만든 이름 ㅎㅋ";//this: 현재 객체 (public string name에 있는 name을 가르키는 거임)
System.out.println("안녕 나는 MyClss01 타입이야");
System.out.println("내 이름은 "+ name);
System.out.println("내 나이는 "+ age);
}
public void myMethod01() {
System.out.println("MyClass01의 mymethod01 호출됨 ...");
}
public void myMethod02() {
System.out.println("MyClass의 myMethod02 호출됨 ...");
}
}
上に作成したthisthis:現在のオブジェクト(共通string nameのname)
ゾーン変数vsフィールド(==インスタンス変数、グローバル変数、クラス変数、メンバー変数)
-同じ名前を使用できます.
-メソッドで領域変数を選択します.
-this.変数名として、フィールドが選択されます.
import practice.MyClass01;
public class Run {
public Run () {}
public static void main(String[] args) {
System.out.println("Run 클래스의 main 메소드 호출됨...");
System.out.println("=========================");
//객체 생성(MyClass01 클래스 파일을 이용해서 객체 생셩)
MyClass01 mc01 = new MyClass01(); //클래스가 mc01이라는 참조변수의 타입이 될 수 있다. mc01은 main메소드 내부안에 있는 변수이므로 지역변수ok.
//객체의 메소드 호출(MyClss01 클래스 파일의 myMethod01 호출)
mc01.myMethod01(); //.은 해당 객체에 접근하기 위함이다. mc01이라는 참조변수를 통해 .객체를 생성하고 그 주소값이 mc01에 들어가서 mc01(리모콘)을 통해 객체 myMethod에 접근하겠다.
mc01.myMethod02(); //한 객체를 통해 여러가지 메소드를 호출할 수 있다. (myMethod01, myMethod02```)
//객체생성
MyClass01 mc = new MyClass01();
mc.age = 20;
mc.name = "홍길동";
mc.introduce();
}
}
MyClass 01クラスファイルの主なメソッドを実行するRunクラスファイルを作成し、参照変数9(.)を使用します.もしあなたが私を呼んだら.Runクラスのマスターメソッドが呼び出されました...
=========================
MyClass 01のMymethod 01を呼び出しました...
MyClassのMyMethod 02を呼び出しました...
こんにちはMYCLSS 01タイプです
私の名前は方法の中で創造した名前ですハハ
私の年齢は20歳です.
こんな結果になった.
.
.
.
.
🚩 学習対象者が知っていることは、次のことです.
-ゾーン変数stack
-インスタンス変数(メンバー変数)heap
-クラス変数(static)
-クラス-->メンバー変数
-メソッドの内部-->領域変数(メソッドの実行時にメモリに作成され、メモリが閉じたときに消えます).
また、オブジェクトとインスタンスは同じ概念であり、オブジェクトがheapメモリに割り当てられていることがわかります.
2.オブジェクトサービスを使用してゲームを作成する
1週間前、私はコントロールドアでじゃんけんゲームとバックシュートゲームをしました.対象を利用して西道よりも複雑なゲームを簡潔にすることができます.
(1)上下ゲーム
import java.util.Random;
import java.util.Scanner;
public class GameManagerUpDown {
public final String gameName = "업다운";
public void gameStart() {
System.out.println(gameName + " 게임시작 ~~~");
// 컴퓨터가 랜덤 숫자 하나 생각하게 하고
// 정수 하나 받고
// 업다운 얘기해주고
// 틀리면 다시하게 하고
// 맞추면 정답입니다
//랜덤숫자
// int a = (int) ((Math.random()*100) + 1);
int a = new Random().nextInt(50);
// Random randomObject = new Random();
// int r = randomObject .nextInt(50);
//입력
Scanner sc = new Scanner(System.in);
//업다운 판단
while(true) {
int input = sc.nextInt();
if(input > a ) {
System.out.println("다운");
} else if( input < a) {
System.out.println("업");
} else if( input == a ) {
System.out.println("정답입니다.");
} else {
System.out.println("다른 수를 입력해주세요");
}
}
}
}
制御ゲートを介してコンピュータのランダム値を受信すると、Math.random関数を用いて,二重値をランダム値に直接変換した.
オブジェクトを作成すると、
int a = new Random().nextInt(50);
// Random randomObject = new Random();
// int r = randomObject .nextInt(50);
このようなオブジェクトを作成すると,より異なる方法でランダム値が得られやすくなる点が斬新である.
import java.util.Random;
import java.util.Scanner;
public class GameManagerRcp {
public final String gameName = "가위바위보";
public void gameStart() {
System.out.println(gameName + " 게임 시작 ~~~");
//가위바위보 게임
//컴퓨터 패 선택
int comNum = new Random().nextInt(3) + 1;
String com = "";
switch(comNum) {
case 1 : com = "가위"; break;
case 2 : com = "바위"; break;
case 3 : com = "보"; break;
default : System.out.println("errer !!!");
}
//사용자 입력
Scanner sc = new Scanner(System.in);
String user = sc.nextLine();
System.out.println("com: "+com);
System.out.println("user: "+user);
//판단
//문자열끼리 비교하려면, 문자열.equals(문자열);
if(com.equals("가위")) {
if(user.equals("가위")) {
System.out.println("비김");
}else if(user.equals("바위")) {
System.out.println("사용자 승");
}else {
System.out.println("컴퓨터 승");
}
}
else if(com.equals("바위")) {
if(user.equals("가위")) {
System.out.println("컴퓨터 승");
}else if(user.equals("바위")) {
System.out.println("비김");
}else {
System.out.println("사용자 승");
}
}
}//main
}//class
Runクラスで上記の結果を呼び出します.public class RunRcp {
public static void main(String[] args) {
GameManagerRcp gm = new GameManagerRcp();
gm.gameStart();
}
}
ゲームの動作を確認できます.
(3)カフェサービスの利用
public class CounterEmployee {
//카운터 직원
/*/
* <객체지향>
* -닉네임
* -시급 :시급 9천원
* -주문 받는 기능
* -계산 기능
*
*/
public String nick;
public int money;
public void order() {
System.out.println("주문받기 ~~~");
}
public void calc() {
System.out.println("계산하기 ~~~");
}
}
public class KitchenEmployee {
//주방직원
/*/
* -닉네임
* -시급: 만원
* -음료 제조 기능
* -음료 건내는 기능
*
*
*/
public String nick;
public int money;
public void cook() {
System.out.println("음료제조 ~~~");
}
public void complete() {
System.out.println("음료완성 ~~~");
}
}
これら2つのクラスはRunクラスによって呼び出される.import cafe.employee.CounterEmployee;
import cafe.employee.KitchenEmployee;
public class Run {
public static void main(String[] args) {
//객체의 메소드 사용
//객체의 데이터 (변수) 접근 가능
System.out.println("cafe open ~~~");
System.out.println("======================");
CounterEmployee ce = new CounterEmployee();
KitchenEmployee ke = new KitchenEmployee();
ce.order();
ce.calc();
ke.cook();
ke.complete();
ce.nick = "홍길동";
ke.nick = "베철수";
System.out.println("카운터 직원 닉네임 : " + ce.nick);
System.out.println("주방 직원 닉네임 : " + ke.nick);
//기본형 자료형의 경우 기본값이 false ,0 ,0.0f 등등이 있지만 참조형 변수는 기본값이 null
//(0은 휴지심만 남아있는 것, null 휴지심조차 없이 아무것도 없는 상태이다.)
}
}
cafe open ~~~
======================
주문받기 ~~~
계산하기 ~~~
음료제조 ~~~
음료완성 ~~~
카운터 직원 닉네임 : 홍길동
주방 직원 닉네임 : 베철수
コールがよく見えます.Reference
この問題について(★公費支援9日目(対象)★), 我々は、より多くの情報をここで見つけました https://velog.io/@noome777/국비지원-9일차객체テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol