package ch05_this;

/*
 * this
 * → class안에 instance 멤버를 가리키는 참조 변수.
 */

public class Member {
   
   private String id;
   private String name;
   private int age;
   
   public Member() {
      System.out.println("- Member() -");
      id = "none";
      name = "none";
      age = 0;
   }
   
   public Member(String id) {
      // Member() 값을 기존에 만들어진 생성자로 초기화 가능. 
      // → 생성자의 첫번째에서만 사용가능.
      this("004","null",10);
      System.out.println("- Member(String id) -");
      this.id = id;
//      this.name = "none";
//      this.age =
      
      
   }
   
   public Member(String id, String name, int age) {
      System.out.println("- Member(String _id, String _name, int _age) -");
      this.id = id;
      this.name = name;
      this.age = age;
   }
   
   public String getId() { return id; }
   public void setId(String id) {
      this.id = id;
   }
   
   public String getName() { return name; }
   public void setName(String name) {
      if(name.length() <= 10) {
         this.name = name;
      } else {
         System.out.println("이름은 10글자 까지만 가능합니다~");
      }
   }
   
   public int getAge() { return age; }
   public void setAge(int age) {
      if(age >= 0 && age <= 130) {
         this.age = age;
      } else {
         System.out.println("나이는 0 ~ 130 사이만 가능합니다~");
      }
   }
   
   public void info() {
      System.out.println("--- 회 원   정 보 ---");
      System.out.println("ID   : " + id);
      System.out.println("이름 : " + name);
      System.out.println("나이 : " + age + " 세");
   }
   
}
package ch05_this;

public class MemberManager {

   public static void main(String[] args) {
      Member mb1 = new Member();
      mb1.info();

      System.out.println();
      
      Member mb2 = new Member("002","홍길동",35);
      mb2.info();
      
      System.out.println();
      
      Member mb3 = new Member("003");
      mb3.info();
   }

}