객체를 생성할 때 호출되는 인스턴스 초기화 메서드
new 키워드와 함께 호출Person person1 = new Person();public class DefaultPerson {
String name;
int age;
boolean isHungry;
//public DefaultPerson() {} -- 생략된 기본 생성자
public static void main(String[] args){
DefaultPerson person = new DefaultPerson();
person.name = "홍길동";
person.age = 10;
person.isHungry = false;
}
}
public class ParameterPerson {
String name;
int age;
boolean isHungry;
public ParameterPerson(String n, int a, boolean i) {
name = n;
age = a;
isHungry = i;
}
public static void main(String[] args){
ParameterPerson person1 = new ParameterPerson("홍길동", 10, false);
ParameterPerson person2 = new ParameterPerson(); //기본 생성자가 추기 되지 않았으므로 오류
}
}
this는 this. 과 this()로 구분하여 사용한다.
public class ParameterPerson {
String name;
int age;
boolean isHungry;
public ParameterPerson(String name, int age, boolean isHungry) {
this.name = name;
this.age = age;
this.isHungry = isHungry;
}
}
this.name = name; 중복 발생this(name, 0); 으로 호출System.out.println(); 아래에서 this();하면 오류 발생public class OverloadConstructorPerson {
String name;
int age;
public OverloadConstructorPerson(String name, int age) {
this.name = name;
this.age = age;
}
public OverloadConstructorPerson(String name) {
this.name = name; // 중복 코드
this(name, 0); //중복 해결 : 위의 생성자를 호출
}
public static void main(String[] args){
}
}
소중한 정보 잘 봤습니다!