생성자
생성자(constructor)
생성자는 인스턴스 생성 시 데이터 초기화를 수행하기 위한 초기화 전용 구문이다.
형태
public class 클래스명 {
public 클래스명(){
//초기화 코드
}
}특징
생성자의 특징은 다음과 같다.
클래스와 동일한 이름을 가진다.
메소드와 동일하게 매개변수를 가질 수 있다.
메소드처럼 반환형을 작성할 수 없다.
매개변수가 다르다면 중복하여 작성할 수 있다.(생성자 오버로딩이라 한다)
생성자는 인스턴스 생성 시 단 1회만 실행되며, 인스턴스에 포함되지 않는다.
기본적으로 클래스에는 내장되어있는 생성자가 한 개 있으며, 작성 시 사라진다.
기본 생성자
아무 작업도 하지 않는 생성자를 기본 생성자(default constructor)라고 하며, 사용자가 만들지 않아도 클래스에 생성자가 없는 경우 생성된다.
생성자 오버로딩
생성자를 필요에 의해 여러 개 만드는 것을 생성자 오버로딩(Constructor Overloading)이라고 하며, 다음 조건을 만족할 경우 생성자를 여러 개 만들 수 있다.
매개변수의 개수가 다른 경우
매개변수의 자료형이 다른 경우
매개변수의 순서가 다른 경우
이를 통하여 다양한 객체 생성 방식을 제공할 수 있다.
생성자간 호출
생성자가 많아지다 보면 중복 코드가 많이 발생하게 되는데, 이 때 생성자 간에 데이터를 전달하여 중복 코드를 없엘 수 있다.
중복이 발생하는 경우
생성자의 초기화문이 계속 중복되기 때문에 이를 하나의 생성자에 전달하여 처리하도록 할 수 있다. 수정하면 다음과 같다.
어떤 생성자에 전달할 것인가가 문제가 되는데, 정답은 없지만 모든 데이터를 처리할 수 있는 생성자 방향으로 전달하는 것이 처리하기가 수월하다.
Last updated