자바에서 생성자(constructor)는 객체를 초기화하는 특별한 종류의 메서드입니다. 생성자는 객체가 생성될 때 자동으로 호출되며, 객체의 초기화를 담당합니다.
- 생성자는 클래스 이름과 동일합니다.
- 반환 타입이 없으며, void도 사용하지 않습니다.
- 생성자는 객체가 생성될 때 자동으로 호출됩니다.
- 인스턴스 변수의 초기화, 객체의 상태 초기화 등을 담당합니다.
- 매개변수를 가질 수 있으며, 매개변수를 통해 초기화 작업을 수행할 수 있습니다.
- 여러 개의 생성자를 오버로딩하여 사용할 수 있습니다.
public class Person {
private String name;
private int age;
// 매개변수가 없는 생성자
public Person() {
this.name = "Unknown";
this.age = 0;
}
// 매개변수를 받는 생성자
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter, setter 메서드
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
}
위 코드에서 Person 클래스는 이름과 나이를 가지는 객체를 나타냅니다.
클래스에는 두 개의 생성자가 정의되어 있습니다.
하나는 매개변수가 없는 생성자로, name과 age를 각각 "Unknown"과 0으로 초기화합니다. 다른 하나는 매개변수를 받는 생성자로, name과 age를 매개변수로 전달받아 초기화합니다.
이렇게 생성자를 정의하면 객체를 생성할 때 다양한 방식으로 초기화할 수 있습니다.