Java - Constructor(생성자)
- Constructor (생성자)
- Constructor는 객체가 생성되는 순간 자동으로 호출되는 Method
- Constructor는 class 이름과 동일하다.
- 보통 초기화를 수행하는 코드를 포함하고 있다.
- Constructor는 리턴이 없다. 선언 자체가 불가능하다.
생성자의 용도
- Field를 초기화하거나, 객체가 처음 생성되는 순간에 처리할 작업을 수행하는데 있다.
- 객체를 생성하면 Field의 메모리 공간이 할당되지만 아직 값을 가지지 못한 상태이다. 생성자를 이용하면 초기값을 지정 할 수 있다.
- 특별한 인자를 갖는 생성자를 이용하여 특정한 값을 Field를 초기화 할 수 있다.
Example)



- Defualt Constructor (기본 생성자)
- 인자가 없고 실행 내용도 없어 단순 리턴하는 Constructor이다.
- Class에 생성자가 하나도 선언되어 있지 않으면 컴파일러가 Defualt Constructor를 자동으로 생성한다.
- Constructor가 하나라도 존재하는 Class는 자동으로 Defualt Constructor가 삽입되지 않는다. 그래서 오류가 발생한다.
- this(), 다른 생성자 호출
<Console>
main에 각 Constructor는 실행하게 되는데 Constructor 내부에 보면 this()라는 인자가 3개인 Constructor인 다른 생성자를 호출하게 된다.
- this()는 Constructor 안에서만 사용할 수 있다.
- this()는 동일한 Class의 다른 Constructor를 호출할 때 사용한다.
- this()는 Constructor의 첫 번째 문장이 되어야만 한다.
[출처] Java - Constructor(생성자)|작성자 슈민