생성자 this()
- 생성자에서 다른 생성자 호출할 때 사용
- 다른 생성자 호출시 첫 줄에서만 사용가능
class Car {
String color;
String gearType;
int door;
Car() {
this("white", "auto", 4);
}
Car(String color) {
this(color, "auto", 4);
}
Car(String color, String gearType, int door) {
this.color = color;
this.gearType = gearType;
this.door = door;
}
}
class Car {
String color;
String gearType;
int door;
Car() {
color = "white";
gearType = "auto";
door = 4;
}
Car() {
this("white", "auto", 4);
}
Car(String c, String g, int d) {
this.color = c;
this.gearType = g;
this.door = d;
}
}
참조변수 this
- 인스턴스 자신을 가리키는 참조변수
- 인스턴스 메서드(생성자 포함)에서 사용가능
- 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용
Car(String c, String g, int d) {
this.color = c; (같은 class 내에서 this. 생략가능)
this.gearType = g;
this.door = d;
}
Car(String color, String gearType, int door) {
this.color = color; (iv, lv 이름이 같은 경우는 this.생략 불가)
this.gearType = gearType;
this.door = door;
}
참조변수 this와 생성자 this()
- this
- 인스턴스 자신을 가리키는
참조변수
, 인스턴스의 주소가 저장되어 있다. 모든 인스턴스메서드에 지역변수로 숨겨진 채로 존재한다.
- this(), this(매개변수)
생성자
, 같은 클래스의 다른 생성자를 호출할 때 사용한다.
class MyMath {
long a, b;
MyMath(int a, int b) {
this.a = a; (iv와 lv 구별하려고 this. 사용)
this.b = b;
}
long add() {
return a + b;
}
static long add(long a, long b) {
return a + b;
}
}