기본 생성자에 대해서 알아보게 되었다. JAVA의 기본적인 class를 만들어보면서 많이 나오는 부분
이기 때문이다.
일단 생성자의 개념에 대해서 알아야한다. 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화
메서드'이다. 메서드라는 것에 주목! 인스턴스 초기화란 인스턴스 변수를 초기화시키는 것을 의미한다.
자바는 객체 생성 시 기본 생성자가 없을 때에만 컴파일러가 기본 생성자를 자동으로 제공해준다. 예를
들면 아래와 같은 클래스가 있을 때 객체 생성시 기본 생성자가 없어도 컴파일러가 기본 생성자를 생성
해준다.
public class Person() {
private String name;
}
Person p1 = new Person();
public class Person() {
private String name;
public Person() {
this.name = null;
}
}
class Person() {
public String name;
}
Person p1 = new Person();
class Person() {
public Stirng name;
Person() {
this.name = null;
}
}
여기서 보아야 할 것이 기본 생성자가 없을 때 컴파일러가 기본 생성자를 제공하기 때문에 어떤 다른 생
성자가 있을 경우(대개 매개변수가 있는 생성자) 기본 생성자를 제공하지 않는다. 따라서 기본생성자 이외
의 생성자(대개 매개변수가 있는 생성자)를 명시적으로 선언 할 경우 기본 생성자를 추가하기 위해서는 명
시적으로 선언이 필요한 것이다.
public class Person() {
public String name;
public Person() {
this.name = null;
}
public Person(String name) {
this.name = name;
}
}