생성자 this()
: 생성자에서 다른 생성자 호출
(코드 중복 제거 위해 호출)
1. 조건
- 클래스이름 대신 this 사용
- 다른 생성자 호출시 꼭 첫줄에서만 가능!
Test(String sb){
score=91;
Test(sb, "가", 88); //에러. Test대신 this써야함, 첫줄x
}
2. 예
public class Test {
String subject;
String type;
int score;
//1.
Test(){
this("수학", "가", 85); //3. 호출
};
//2.
Test(String subject){
this(subject, "가", 85); //3. 호출
}
//3.
Test(String subject,String type,int score){
this.subject = subject;
this.type = type;
this.score = score;
}
}
참조변수 this
: 인스턴스 자신을 가르키는 참조변수 참조변수니 주소 저장되어 있음
인스턴스 메서드(생성자 포함)에서 사용가능
(iv와 lv 구별위해 사용)
Test(String subject,String type,int score){
this.subject = subject;
this.type = type;
this.score = score;
}
+)static,클래스 메서드 당연히 this 사용불가
this() -> im, this. -> iv / this 사용 인스턴스 멤버뿐
static메서드 인스턴스 멤버 못쓰잖아!
'Java' 카테고리의 다른 글
| [Java] 상속(Inheritance), 포함(composite) (0) | 2023.12.20 |
|---|---|
| [Java] 변수 초기화(명시적, 생성자, 초기화블럭) (0) | 2023.12.18 |
| [Java] 생성자(Constructor) (0) | 2023.12.18 |
| [Java] 오버로딩(overloading) (0) | 2023.12.17 |
| [Java] 클래스 메서드(static 메서드)와 인스턴스 메서드 (0) | 2023.12.17 |