JAVA
객체지향 생성자 (constructor), 기본 생성자(default constructor)
연93
2022. 9. 25. 15:16
인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드'
인스턴스 생성시 수행할 작업(iv 초기화)에 사용
Time t = new Time(); //객체 생성
t.hour = 12; // iv초기화
t.minut = 34; // iv초기화
t.second = 56; // iv초기화
-------------------------------------------
Time t = new Time(12,34,56);
**생성자 이름이 클래스 이름과 같아야 한다.**
**리턴값이 없다 (void 안붙임)**
**모든 클래스는 반드시 생성자를 가져야 한다.**
**기본생성자**
매개변수가 없는 생성자
생성자가 하나도 없을 때만, 컴파일러가 자동 추가
클래스이름 () {} // 기본생성자
Point(){} // Point클래스의 기본 생성자
class Data1 {
int value;
// Data1(){} // 처음 기본생성자는 컴파일러가 추가해준다
}
class Data2{
int value;
// Data2(){} // 기본생성자 추가시 error 사라진다.
Data2(int x){ //매개변수가 있는 생성자.
value = x;
}
}
class Data3{
public static void main(String[] arg) {
Data1 d1 = new Data1();
Data2 d2 = new Data2(); // compile error
//The constructor Data2() is undefined
}
}