더북(TheBook)

생성자를 정의하는 부분에 ‘public 클래스명(매개변수 목록)’을 볼 수 있습니다. 메서드와는 무엇이 다른가요? 네, 리턴형을 갖고 있지 않습니다. 만약 메서드였다면 다음과 같이 정의했을 것입니다.

public class 클래스명{
    자료형 필드명;
    public 리턴형 메서드명(매개변수 목록) {
        ……
    }
}

 

두 번째, 프로그래머가 생성자를 만들지 않으면 컴파일할 때 매개변수가 없는 생성자가 자동으로 만들어집니다. 매개변수가 없는 생성자를 기본 생성자라고 합니다. 프로그래머가 생성자를 하나라도 만들었다면 기본 생성자는 자동으로 만들어지지 않습니다.

 

이 두 번째 특징을 코드로 살펴보겠습니다.

package javaStudy;

public class CarExam2 {

    public static void main(String[] args) {
        Car c1 = new Car();
    }
}

 

코드를 보면 Car 생성자를 호출하고 있습니다. 그런데 Car.java 파일에서 Car 객체를 살펴보면 어디에도 생성자를 만든 적이 없습니다. 이 경우 컴파일러가 기본 생성자를 만든 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.