😀 생성자 this()
- 생성자에서 다른 생성자를 호출할 때 사용
- 다른 생성자 호출 시 첫 줄에서만 사용가능
✔예제)
↳ 첫 줄에서만 생성 가능 아니면 에러가 남
↳ Car(color, "auto",4) -> this(color,"auto",4) 바꿔줘야 함
✔예시) 코드 중복 제거
😀 참조변수 this
- 인스턴스 자신을 가리키는 참조변수
- 인스턴스 메서드(생성자 포함)에서 사용가능
- 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용
- 참조변수 this, 생성자 this() 는 ()로 구분
① ②
↳ ② this가 있어야 iv로 간주
↳ ① 같은 클래스 안에서는 this 생략가능
↳ ② iv와 lv의 변수 이름이 같아서 this 생략 불가능
↳ this : 참조변수 , this() : 클래스 이름 대신 사용
✔예시)
clas MyMath2{
long a, b; // this.a this.b => 진짜이름(this 생략가능)
MyMath2(int a, int b) {// 생성자
this.a = a;
this.b = b; // lv와 iv를 구별하려고 this 사용,
//this는 생성자와 인스턴스 메서드에만 사용 가능
}
long add() {
return a + b; // return this.a + this.b;
}
static long add(long a, long b){ // 클래스 메서드(static메서드),
// this 사용불가 : this의 의미가 객체자신을 의미하기 때문
return a + b;
}
'자바의 정석 > 객체지향' 카테고리의 다른 글
[객체지향] 상속 (0) | 2022.12.05 |
---|---|
[객체지향] 변수의 초기화, 멤버변수의 초기화 (0) | 2022.12.05 |
[객체지향] 생성자(constructor) (0) | 2022.12.02 |
[객체지향] 오버로딩(overloading) (0) | 2022.12.02 |
[객체지향] static 메서드와 인스턴스 메서드 (0) | 2022.12.02 |