본문 바로가기
프로그래밍 언어/JAVA

[JAVA] 생성자

by 느링 2017. 8. 17.

생성자란?

자바 클래스에서 생성자란 객체가 메모리에 할당 될 때마다 자동으로 실행되는 메소드를 의미합니다.

객체가 생성될 때 한 번 호출되는 메소드이며, 리턴형이 없고 클래스명과 함수명이 같습니다.

그리고 반드시 public이라는 수식어가 붙여야 하며

하나의 클래스에 여러 개의 생성자가 할 수도 있습니다. 

 

# 생성자 기본구조

public 클래스명 (초기화 할 변수)

{

인스턴스 변수 초기화 명령문들

}

 

다른 메소드들과 다른 특징

- 클래스 이름과 동일한 이름을 가진 메소드입니다.

- 반환형이 선언되어 있지 않으면서, 반환하지 않는 메소드입니다.

 

즉, 메소드 이름이 클래스명과 똑같고, void나 int처럼 반환형이 선언되어 있지도 않고, return 반환을 하지도 않습니다. 입력만 있을 뿐 출력은 없습니다. 초기화만 해주는 것입니다.

 

① 디폴트 생성자

디폴트 생성자란 우리가 생성자를 정의 해주지 않아도 기본으로 정의 되어 있는 생성자입니다.

우리가 클래스를 정의할 때 지금까지 생성자를 따로 정의해주지 않았었습니다.

하지만 우리는 생성자를 있다는 마냥 객체를 생성하였습니다.

(객체가 생성된다는 의미는 생성자가 실행되었다라는 의미)

바로 보이지 않는 디폴트 생성자가 실행된 것입니다.

 

② 매개변수를 갖는 생성자

디폴트생성자는 매개변수가 없는 생성자를 의미합니다.

그렇다면 매개변수가 있는 생성자를 만들 수 있다는 것이죠

 

③ 생성자는 오버로딩이 가능합니다.

 

<예제 1>

<결과>

 

 

이렇게 생성자를 잘 활용하여 프로그램을 짜신다면 따로 초기화 하는 부분을 정의/실행하지 않고

생성과 동시에 초기화가 가능하여 소스가 좀 더 간결하고 보기 좋도록 할 수 있습니다.