생성자란?

생성자는 new 연산자를 통해서 인스턴스를 생성할 때 반드시 호출이 되고 제일 먼저 실행되는 일종의 메소드이다. 생성자는 (객체의 초기화)인스턴스 변수를 초기화 시키는 역할을 한다.

생성자 선언 방법

public 클래스(매개변수) {
 ......
}

클래스라는 부분은 생성자를 정의하는 클래스의 이름과 동일하게 적어줘야 한다. ‘public’과 ‘매개변수’ 부분은 필수로 적어야 하는 부분은 아니다.

Untitled

생성자의 종류 및 사용

인스턴스를 생성할 때 반드시 생성자를 호출한다고 했다.

그런데 생성자를 정의하지 않았는데 호출이 되는 이유는 무었일까?

바로 클래스를 정의할 때 생성자를 생략하면 컴파일러가 자동적으로 기본 생성자(Default Constructor)를 생성하여 주기 때문이다. 기본 생성자란 “public 클래스(){}”를 의미한다.

public class ConstructorEx01 {
// public ConstructorEx01(){} // 기본 생성자 자동 생성

	public static void main(String[] args) {
		ConstructorEx01 ce = new ConstructorEx01(); // 인스턴스 생성 및 생성자 호출
	}
}

인스턴스를 생성할 때 생성자를 호출한다. 생성자를 생략하면 주석처리된 부분이 자동으로 생성된다.

생성자의 특징

  1. 생성자는 반드시 클래스명과 동일하게 정의해야 한다.
  2. 생성자 앞에는 접근 제어자(public 같은 친구들)만 올수 있다.
  3. 생성자는 반환값이 없지만, 반환 타입을 void형으로 선언하지 않는다.