생성자(Constructor)
클래스로부터 인스턴스를 생성할 때 new 연산자로부터 호출되어 인스턴스의 초기화를 담당한다.
public class Emotion {
private boolean happy;
private boolean sad;
private boolean interesting;
private boolean love;
// 디폴트 생성자가 없이 아래와 같은 생성자만 있을 경우 컴파일 에러 발생
// 왜냐하면 모든 멤버변수가 초기화되지 않기 때문
public Emotion(boolean happy, boolean love) {
this.happy = happy;
this.love = love;
}
// 컴파일 에러를 방지하기 위해서는 따로 디폴트 생성자를 구현해주어야 함
public Emotion() {
}
// 이렇게 생성자가 여러개 있는 것을 생성자 오버로딩(Overloading)이라 함
}
오버로딩이란 매개변수만 다른 메서드가 여러개 있는 것을 말한다. 대표적인 예로 println() 메서드가 있다.