Programming/JAVA

[JAVA] 생성자(Constructor)

잇나우 2020. 2. 19. 23:39
반응형

생성자(Constructor)

생성자는 클래스에서 객체가 생성될 때 단 한번 호출되는 일종의 함수이다. 생성자는 클래스의 인스턴스 변수를 초기화 하는 역할을 하고 있다. 물론 메소드에서도 초기화를 할 수 있지만 생성자에서 초기화를 하고 메소드에서 인스턴스 변수의 값을 수정과 같은 작업을 하는 것을 권장한다.


생성자 구성

생성자는 메소드와 비슷하게 생겼는데 return을 할 수 없어 return type을 정의해주지 않는다. 생성자명은 반드시 클래스명과 같아야한다.

[접근제어자] 생성자명(자료형 매개변수){
    코드...
}

// 예)
public Apple(String name){
    this.name = name;
}

클래스의 객체를 선언하는것은 new를 사용하여 생성자를 호출하는 것이다.

Apple apple = new Apple(); // Apple() 생성자 호출

생성자 종류

클래스 생성자를 따로 생성하지 않아도 객체를 선언할때 처럼 자동으로 생성자가 생성되는데 자동으로 디폴트 생성자(Default Constructor)가 생성되기 때문이다. 기본 생성자 말고도 사용자가 직접 생성자를 정의할 수 있는데, 사용자가 정의한 생성자가 있을 경우 기본 생성자가 자동으로 생성되지 않는다. 기본 생성자가 없으면 에러가 날 수도 있기때문에 명시적으로 기본 생성자를 정의해주는 것을 권장한다.

생성자 오버로딩

생성자는 오버로딩이 가능하여 같은 이름(클래스명과 같아야한다)으로 여러개의 생성자를 선언할 수 있다. 매개변수의 순서와 갯수가 각 생성자마다 달라야한다.

반응형