2021. 03. 31(カウント)TIL
Java
package day3;
public class Sample {
// 기본자료형 타입 매개변수 - 값을 전달받는다.
void test1(int x, int y) {
System.out.println("x의 값 : " + x);
System.out.println("y의 값 : " + y);
System.out.println("전달받은 값 변경하기");
}
// 참조자료형 타입 매개변수 - 주소값을 전달받는다.
// 매개변수의 타입이 참조자료형 타입인 경우 반드시 해당 타입의 클래스로 생성된 객체의 주소값이
// 매개변수로 전달되어야 한다. (null값을 전달하는 것도 가능하다)
void test2(MyNumber number) {
System.out.println("전달받은 객체의 x값 : " + number.x);
System.out.println("전달받은 객체의 y값 : " + number.y);
// 참조하는 객체의 x값, y값 변경하기
System.out.println("전달받은 객체의 x값, y값을 변경하기");
number.x = 500;
number.y = 1000;
}
}
package day3;
public class SampleApp {
public static void main(String[] args) {
Sample sample = new Sample();
// 기본자료형 타입의 매개변수를 가지는 메소드 호출하기
// voiud test1(int, int)
int x = 10;
int y = 50;
System.out.println("### test1() 메소드 실행 시작");
sample.test1(x, y);
System.out.println("### test1() 메소드 실행 완료");
System.out.println("x의 값 : " + x);
System.out.println("x의 값 : " + y);
System.out.println("----------------------------------------------");
// 참조자료형 타입의 매개변수를 가지는 메소드 호출하기
// void test2(MyNumber)
MyNumber mn = new MyNumber();
sample.test2(mn);
mn.x = 100;
mn.y = 200;
System.out.println("### test2() 메소드 실행 전 객체의 x값, y값 출력하기");
System.out.println("MyNumber객체의 x값 : " + mn.x); // 100
System.out.println("MyNumber객체의 y값 : " + mn.y); // 200
System.out.println("### test2() 메소드 실행 시작");
sample.test2(mn); // mn 참조변수가 참조하는 MyNumber객체의 주소값을 test2 메소드에게 전달
System.out.println("### test2() 메소드 실행 완료");
System.out.println("### test2() 메소드 실행 후 객체의 x값, y값 출력하기");
System.out.println("MyNumber객체의 x값 : " + mn.x); // 500
System.out.println("MyNumber객체의 y값 : " + mn.y); // 1000
}
}
せいてきへんすう
package day3;
public class Sample {
// 기본자료형 타입 매개변수 - 값을 전달받는다.
void test1(int x, int y) {
System.out.println("x의 값 : " + x);
System.out.println("y의 값 : " + y);
System.out.println("전달받은 값 변경하기");
}
// 참조자료형 타입 매개변수 - 주소값을 전달받는다.
// 매개변수의 타입이 참조자료형 타입인 경우 반드시 해당 타입의 클래스로 생성된 객체의 주소값이
// 매개변수로 전달되어야 한다. (null값을 전달하는 것도 가능하다)
void test2(MyNumber number) {
System.out.println("전달받은 객체의 x값 : " + number.x);
System.out.println("전달받은 객체의 y값 : " + number.y);
// 참조하는 객체의 x값, y값 변경하기
System.out.println("전달받은 객체의 x값, y값을 변경하기");
number.x = 500;
number.y = 1000;
}
}
package day3;
public class SampleApp {
public static void main(String[] args) {
Sample sample = new Sample();
// 기본자료형 타입의 매개변수를 가지는 메소드 호출하기
// voiud test1(int, int)
int x = 10;
int y = 50;
System.out.println("### test1() 메소드 실행 시작");
sample.test1(x, y);
System.out.println("### test1() 메소드 실행 완료");
System.out.println("x의 값 : " + x);
System.out.println("x의 값 : " + y);
System.out.println("----------------------------------------------");
// 참조자료형 타입의 매개변수를 가지는 메소드 호출하기
// void test2(MyNumber)
MyNumber mn = new MyNumber();
sample.test2(mn);
mn.x = 100;
mn.y = 200;
System.out.println("### test2() 메소드 실행 전 객체의 x값, y값 출력하기");
System.out.println("MyNumber객체의 x값 : " + mn.x); // 100
System.out.println("MyNumber객체의 y값 : " + mn.y); // 200
System.out.println("### test2() 메소드 실행 시작");
sample.test2(mn); // mn 참조변수가 참조하는 MyNumber객체의 주소값을 test2 메소드에게 전달
System.out.println("### test2() 메소드 실행 완료");
System.out.println("### test2() 메소드 실행 후 객체의 x값, y값 출력하기");
System.out.println("MyNumber객체의 x값 : " + mn.x); // 500
System.out.println("MyNumber객체의 y값 : " + mn.y); // 1000
}
}
スタティツクメソッド
生成者
package day3;
public class User {
int no;
String name;
String id;
String password;
String email;
String tel;
int age;
String address;
boolean isMarried;
/*
* 생성자 (Constructor)
* - 객체 생성 직후에 바로 실행되는 메소드다.
* * 객체를 생성하는 메소드가 절대 아님
* - 객체 생성 직후에 수행할 작업을 생성자 메소드에 정의할 수 있다.
* * 객체의 초기화 작업 - 객체의 멤버변수의 값을 초기화하는 작업이다.
* - 객체의 멤버변수에 값을 대입하는 작업이다.
* * 멤버메소드의 실행 전에 반드시 수행해야 하는 전처리 작업
* - new 생성자()와 같이 객체 생성할 때만 사용할 수 있는 메소드다.
* * new 키워드와만 사용할 수 있다
* - 생성자 메소드의 조건(객체 생성 직후에 바로 실행될 메소드의 조건)
* * 생성자 메소드의 이름은 반드시 클래스의 이름과 동일해야한다.
* * 생성자 메소드는 반환타입이 없다
*/
// 기본 생성자(Default Constructor)
// - 매게변수가 하나도 없는 생성자
// - 컴파일러가 자동으로 추가하는 생성자
// User.java를 User.class로 변환할 때
// user.java에 정의된 생성자가 없으면 public User() {}를 자동으로 추가한다.
public User() {
System.out.println("기본 생성자 실행됨");
// 객체의 초기화 작업
// 객체가 생성되면 번호, 이름, 아이디, 비밀번호, 주소, 결혼여부 등의 값을 아래의 값으로 초기화한다.
no = 9999;
name = "홍길동";
id = "hong";
password = "zxcv1234";
email = "";
tel = "";
age = 0;
address = "서울";
isMarried = false;
}
void displayUserInfo() {
System.out.println("번호 : " + no);
System.out.println("이름 : " + name);
System.out.println("아이디 : " + id);
System.out.println("비밀번호 : " + password);
System.out.println("이메일 : " + email);
System.out.println("전화번호 : " + tel);
System.out.println("나이 : " + age);
System.out.println("주소 : " + address);
System.out.println("결혼여부 : " + isMarried);
}
}
package day3;
public class UserApp {
public static void main(String[] args) {
// new 생성자메소드();
// 1. 생성자메소드명은 클래스 이름과 같다.
// --> 객체 생성에 사용할 설계도 이름을 알 수 있음
// --> 설계도 이름에 해당하는 클래스를 로딩해서 객체를 생성함
// 2. 생성자메소드(); <----- 메소드를 실행하는 코드임
// --> 객체 생성된 직후에 생성자메소드의 수행무닝 실행됨
// --> 객체 생성 직후에 필요한 작업을 수행할 수 있게 됨
// * new 생성자메소드()
User user1 = new User();
user1.displayUserInfo();
System.out.println("-----------------------------------");
User user2 = new User(); // 9999, 홍길동, hong, zxcv1234, 서울로 값이 초기화됨
user2.no = 10;
user2.name = "김유신";
user2.id = "kim";
user2.password = "kim1234";
user2.displayUserInfo();
}
}
Reference
この問題について(2021. 03. 31(カウント)TIL), 我々は、より多くの情報をここで見つけました https://velog.io/@eastgun_/2021.-03.-31수-TILテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol