인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드'
인스턴스 생성시 수행할 작업(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
}
}
'JAVA' 카테고리의 다른 글
객체지향 생성자 this(), 참조변수 this (0) | 2022.09.25 |
---|---|
객체지향 매개변수가 있는 생성자 (1) | 2022.09.25 |
객체지향 메서드 오버로딩(overloading) (0) | 2022.09.25 |
객체지향 static 메서드와 instance 메서드 (0) | 2022.09.25 |
객체지향 호출 스택(call stack) (0) | 2022.09.24 |