생성자도 접근제한자가 있음
-> public protected (default) private
[접근제한자] [예약어] class 클래스명 {
[접근제한자] 클래스명() { } // 기본 생성자
[접근제한자] 클래스명(매개변수) { (this.)필드명 = 매개변수; } // 매개변수 있는 생성자
}
public class Academy {
private int studentNo;
private String name;
public Academy() {} // 기본 생성자
public Academy(int studentNo, String name) { //매개변수 있는 생성자
this.studentNo = studentNo;
this.name = name;
}
}
오버로딩을 이용하여 작성public class Academy{
private String name;
public Academy() { }
public Academy(String name) { this.name = name; }
}
위와 같이 매개변수를 가지는 생성자에서 매개변수 명이 필드명과 같은 경우 매개변수의 변수명이 우선이므로 this 객체를 이용하여 대입되는 변수가 필드라는 것을 구분해줌