Overload
1-1. 생성자의 Overload
- 생성자 역시 메서드의 한 종류이므로 Overload가 가능하다.
- 생성자를 Overload할 경우, 해당 클래스에 대해 객체를 생성하는 방법을 다양하게 준비할 수 있게 된다.
1-2. this 키워드를 사용한 생성자 Overload
- this 키워드의 용법
-> 메서드처럼 사용할 경우, 현재 클래스의 다른 생성자를 의미한다.
- this 키워드를 사용하여 생성자 Overload를 간결하게 처리하기
-> 파라미터가 서로 다른 생성자들이 하나의 완전한 생성자를 호출하도록 하여, 데이터의 초기화를 한 곳에서 일괄적으로 처리하도록 구현할 수 있다.
public class Member {
private String job;
private int age;
public Member() {}
public Member( int age ) { this.age = age; }
public Member( String job) { this.job = job; }
public Member( String job, int age) {
this.job = job;
this.age = age;
}
@Override
public String toString() {
return "Member [job=" + job + ", age=" + age + "]";
}
}
public class Main01 {
public static void main(String[] args) {
Member m1 = new Member();
System.out.println(m1.toString());
Member m2 = new Member(20);
System.out.println(m2.toString());
Member m3 = new Member("학생");
System.out.println(m3.toString());
Member m4 = new Member("교수", 40);
System.out.println(m4.toString());
}
}