남궁성님의 자바의 정석 강의를 기반으로 작성했습니다.
- 생성자 (Constructor)
* 인스턴스가 생성될 때마다 호출되는 인스턴스 초기화 메서드
* 인스턴스 생성시 수행할 작업(IV(인스턴스 변수) 초기화)에 사용
- 생성자 규칙
* 이름이 클래스 이름과 같아야 합니다.
* 리턴(return)값이 없습니다. 단, 생성자의 경우는 void를 붙이지 않습니다. 항상 반환값이 없기 때문입니다.
* 모든 클래스는 반드시 한 개 이상의 생성자가 있어야 합니다.
- 기본 생성자 (default constructor)
* 매개 변수가 없는 생성자
* 생성자가 하나도 없을 때만, 컴파일러가 자동 추가
public class Constructor {
public static void main(String[] args) {
Data_1 d1 = new Data_1();
Data_2 d2 = new Data_2(); // 기본생성자 호출
// 기존에 사용하던 방식
Car c = new Car();
c.color = "BLACK";
c.gearType = "MANUAL";
c.door = 4;
// 생성자를 통한 코드를 간략히 하기
Car c = new Car("BLACK", "MANUAL", 4);
}
}
class Data_1 { // 생성자 0개 : 컴파일러가 자동으로 생성자를 추가시켜 줌
int value;
public Data_1() { } // 기본 생성자 생성
}
class Data_2 { // 생성자 1개가 있기 때문에 반드시 아래의 기본 생성자를 추가시켜줘야 한다.
int value;
public Data_2() {} // 기본 생성자 생성
Data_2(int x) { // 매개변수가 있는 생성자
value = x;
}
}
class Car {
String color; // 인스턴스 변수
String gearType;
int door;
public Car() {} // 기본 생성자
public Car(String c, String g, int d) { // 매개 변수가 있는 생성자
color = c;
gearType = g;
door = d;
}
}
'Programming > Java' 카테고리의 다른 글
[JAVA] 변수의 초기화 (0) | 2021.10.11 |
---|---|
[JAVA] 생성자 this(), 참조변수 this (0) | 2021.10.11 |
[JAVA] 오버로딩(Overloading) (0) | 2021.10.11 |
[JAVA] return문, return, 리턴문, 호출스택 (0) | 2021.10.09 |
[JAVA] 자바의 메서드(Method) (0) | 2021.10.08 |