객체를 생성할 때 호출되는 인스턴스 초기화 메서드
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){
}
}
소중한 정보 잘 봤습니다!