this()
생성자 간에 서로 호출을 하려면 다음과 같은 규칙을 만족해야함
1. 생성자의 이름으로 클래스이름 대신 this를 사용할 것
2.한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출이 가능하다.
오류의 예시
Car(String color){
door = 5; //다른 생성자의 호출이 첫째줄이 아니다.
Car(color,"auto",4); //this(color,"auto",4);로 해야함
}
public class this1 {
public static void main(String args[]){
Car2 c1 = new Car2();
Car2 c2 = new Car2("blue"); //생성자의 매개변수 유무를 이용함
System.out.println("c1의 color :" +c1.color + " , gear :"+ c1.gear +"door :" + c1.door);
System.out.println("c1의 color :" +c2.color + " , gear :"+ c2.gear +"door :" + c2.door);
}
}
//class 만들자
class Car2{
//변수
String color;
String gear;
int door;
//생성자
Car2() { //매개변수가 없는 기본 생성자 (생성자는 인스턴스 초기화 메서드임을 잊지 말자)
this("white","auto",4);
}
Car2(String color){
this(color,"auto",4); //매개변수가 있는 생성자
}
Car2(String color, String gear, int door){
this.color = color;
this.gear = gear;
this.door = door;
}
}
매개변수로 아무것도 주어지지 않는다면 white ,auto,4가 기본적으로 들어갈것이다.
'JAVA > 객체지향, 클래스' 카테고리의 다른 글
객체 자신을 가리키는 참조변수 -this (0) | 2022.07.26 |
---|---|
매개변수가 있는 생성자 (0) | 2022.07.26 |
생성자 (0) | 2022.07.26 |
오버로딩(overloading) (0) | 2022.07.26 |
메서드간의 호출과 참조 (0) | 2022.07.26 |