반응형
생성자(Constructor)
생성자는 클래스에서 객체가 생성될 때 단 한번 호출되는 일종의 함수이다. 생성자는 클래스의 인스턴스 변수를 초기화 하는 역할을 하고 있다. 물론 메소드에서도 초기화를 할 수 있지만 생성자에서 초기화를 하고 메소드에서 인스턴스 변수의 값을 수정과 같은 작업을 하는 것을 권장한다.
생성자 구성
생성자는 메소드와 비슷하게 생겼는데 return을 할 수 없어 return type을 정의해주지 않는다. 생성자명은 반드시 클래스명과 같아야한다.
[접근제어자] 생성자명(자료형 매개변수){
코드...
}
// 예)
public Apple(String name){
this.name = name;
}
클래스의 객체를 선언하는것은 new를 사용하여 생성자를 호출하는 것이다.
Apple apple = new Apple(); // Apple() 생성자 호출
생성자 종류
클래스 생성자를 따로 생성하지 않아도 객체를 선언할때 처럼 자동으로 생성자가 생성되는데 자동으로 디폴트 생성자(Default Constructor)가 생성되기 때문이다. 기본 생성자 말고도 사용자가 직접 생성자를 정의할 수 있는데, 사용자가 정의한 생성자가 있을 경우 기본 생성자가 자동으로 생성되지 않는다. 기본 생성자가 없으면 에러가 날 수도 있기때문에 명시적으로 기본 생성자를 정의해주는 것을 권장한다.
생성자 오버로딩
생성자는 오버로딩이 가능하여 같은 이름(클래스명과 같아야한다)으로 여러개의 생성자를 선언할 수 있다. 매개변수의 순서와 갯수가 각 생성자마다 달라야한다.
반응형
'Programming > JAVA' 카테고리의 다른 글
[JAVA] 다형성(Polymorphism) (0) | 2020.02.24 |
---|---|
[JAVA] 상속(Inheritance), 오버라이딩(Override), super, super() (0) | 2020.02.21 |
[JAVA] static과 static 메소드, static 변수 (0) | 2020.02.18 |
[JAVA] 기본 배열(Array) (0) | 2020.02.18 |
[JAVA] 조건문 switch문 (0) | 2020.02.13 |