Java/Java의 정석

[Java의 정석] 생성자 (Constructor)

Dev_Green 2023. 2. 13. 11:00

1. 생성자란?

정의

 

  • 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'

* 연산자 new가 인스턴스를 생성하는 것이지 생성자가 인스턴스를 생성하는 것이 아니다.

역할

  •  인스턴스 변수의 초기화 작업에 주로 사용됨
  • 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용됨

조건

  1. 생성자의 이름은 클래스의 이름과 같아야 한다.
  2. 생성자는 리턴 값이 없다.

2. 기본 생성자 (default contrcutor)

 

모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다. 

단, 클래스에 정의된 생성자가 하나도 없을 때는 컴파일러에 의해서 기본 생성자가 자동으로 추가된다.

3. 매개변수가 있는 생성자

생성자도 메서드처럼 매개변수를 선언하여 호출 시 값을 넘겨받아서 인스턴스의 초기화 작업에 사용할 수 있다.

인스턴스 마다 각기 다른 값으로 초기화되어야하는 경우가 많기 때문에 매개변수를 사용한 초기화는 매우 유용하다.

4. 생성자에서 다른 생성자 호출하기 - this(), this

조건

  1. 생성자의 이름으로 클래스 이름 대신 this를 사용한다.
  2. 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출이 가능하다.

* 생성자 내에서 초기화 작업도중에 다른 생성자를 호출하게 되면 호출된 다른 생성자 내에서도 초기화 작업이 진행될 것이므로 다른 생성자를 호출하기 이전의 초기화 작업이 무의지해질 수도 있기 때문.