생성자와 생성자 오버로딩에 대하여 알아보도록 하겠습니다.
public class Student {
public int studentID;
public String studentName;
public String address;
// public Student() {}
public void showStudentInfo(){
System.out.println(studentName +","+ address);
}
public String getStudentName() {
return studentName;
}
}
public class Student {
public int studentID;
public String studentName;
public String address;
//생성자1 구현
public Student(String name) {
studentName = name;
}
//생성자2 구현
public Student(int id, String name) {
studentID = id;
studentName = name;
address = "주소 없음"; // 안쓸시 기본값은 null
}
public void showStudentInfo(){
System.out.println(studentName +","+ address);
}
public String getStudentName() {
return studentName;
}
}
초기화할 멤버변수가 있다면 기본변수를 생성하지 않고 생성자1과 2 처럼 매개변수와 구현부를 작성하여 생성자를 작성하면 됩니다.
public class StudentTest {
public static void main(String[] args) {
Student studentLee = new Student("이순신"); //생성자1 사용
//studentLee.studentName ="이순신";
studentLee.address = "서울";
studentLee.showStudentInfo();//결과값 이순신,서울
Student studentKim = new Student(1234,"김유신"); //생성자2 사용
//studentKim.studentName ="김유신";
//studentKim.address = "경주";
studentKim.showStudentInfo();//결과값 김유신,주소 없음
}
}