public class User {
String id;
String name;
String password;
int age;
double point;
// 생성자
User(){ //생성자 값
System.out.println("✌");
id = "no_id";
name = "무명";
password = "0000";
age = 0;
point = 0;
}
User(String id, String name){
this(id, name,"😊",100,100000);
} //타입(String2개)와 변수갯수 2개 를 출력하면()가 출력
User(String id, String name, String password, int age, double point){ //오버로딩???같은 클래스내 생성자 또는 메소드 이름은 같고 매개변수의 타입이나 수는 다르게 하는것.
this.id = id;
this.name = name;
this.password = password;
this.age = age;
this.point = point;
}
//메소드의 시그니처 : 매개변수의 갯수와 타입
public void info(){
// [아이디:apple, 이름:김사과, 비밀번호:1111, 나이:20, 포인트:100.0]
System.out.println("[아이디:"+id+", 이름:"+name+", 비밀번호:"
+password+", 나이:"+age+", 포인트:"+point+"]");
}
}
// User 클래스를 기본틀로 사용하여 다른 클래스에서도 사용 할 수 있도록 하는 틀 설계
public class Oop1 { //OOP, Object Oriented Programming(객체 지향 프로그램)
public static void main(String[] args) {
User user1 = new User();
user1.info(); //초기값
user1.id = "apple";
user1.name = "김사과";
user1.password = "1111";
user1.age = 20;
user1.point = 100;
user1.info(); //객체를 만든 생성자에 대한 참조변수 user1에 user1.변수이름 =""으로 값을 설정해준뒤에 정보를 출력해주는 메소드 info를 실행시킨다
User user2 = new User();
user2.info();
user2.id = "banana";
user2.name = "반하나";
user2.password = "2222";
user2.age = 25;
user2.point = 0;
user2.info();
//객체가 달라도 메소드는 공용으로 사용
User user3 = new User("Oragne","오렌지","3333",30,10);
user3.info();
User user4 = new User("melon","이메론");
user4.info();
}
}
user1.info(); // [아이디:no_id, 이름:무명, 비밀번호:0000, 나이:0, 포인트:0.0]
User user1 = new User(); 생성자를 만들어 준뒤, 값을 넣었을때
user1.id ="apple";
user1.name ="김사과";
user1.password ="1111";
user1.age = 20;
user1.point = 100;
user1.info(); // [아이디:apple, 이름:김사과, 비밀번호:1111, 나이:20, 포인트:100.0]
User user3 = new User();
user3 참조변수로 생성자를 만들어준 값을 이동시키도록 만들어주고 난 다음,
new User("Oragne","오렌지","3333",30,10);에 직접 값을 넣어주는 방법으로도 사용이 가능하다.