클래스 내부에서 this()를 호출하면 생성자를 호출한다.
물론 매개변수가 있는 생성자라면 그에 맞게 인자를 넣어주어 호출하면 된다.
public class User {
private Integer id;
protected String account;
public String password;
public User(Integer id, String account, String password) {
this.id = id;
this.account = account;
this.password = password;
}
public User(Integer id) {
this(id, "a", "b");
}
}
위 코드를 보면 매개변수가 하나인 생성자에서 매개변수가 3개인 생성자를 호출하고 있는것을 알수있다.
this()를 통해 생성자를 호출할때는 다음의 제약이 있다.
👉🏻 생성자에서만 호출가능하다.
👉🏻 제일 첫 문장에서 호출해야한다.
👉🏻 생성자 자기 자신을 호출할 수 없다.(재귀호출이 불가능하다.)