this
- 사용 용도
- 자신의 메모리를 가리킴
- 생성자에서 다른 생성자를 호출
- 자신의 주소를 반환
public class Student {
int studentID;
String studentName;
int grade;
// 자신의 메모리를 가리킴
public Student(int studentID, String studentName) {
this.studentID = studentID;
this.studentName = studentName;
}
// 생성자에서 다른 생성자를 호출
public Student() {
this(0, "이름없음")
}
// 자신의 주소를 반환
public Student showthis() {
return this;
}
}
- 자신의 메모리를 가리킴
-
public class StudentTest { public static void main(String[] args) { Student Ryu = new Student(100, "sunyoung"); } }
- 생성된 각 인스턴스별로 참조값이 다르고 이 참조값이 가리키는 메모리를 가리키는 예약어
- 생성된 인스턴스 스스로를 가리키는 예약어
- 위의 this.studentID는 인스턴스가 생성되었을때 할당받은 메모리(this) 내의 변수 studentID를 가리킨다
- 뒤의 할당하는 studentID는 생성자로 초기화 할 때 ()안에 스스로 지정하는 값
-
- 생성자에서 다른 생성자를 호출
- 생성자 overloading : 생성자를 2개 이상 구현
-
public calss Student { int studentID; String studentName; int grade; public Student() { // 아무것도 지정하지 않은채로 인스턴스를 생성하면 아래의 생성자를 불러와서 0, "이름없음"을 넣음 this(0, "이름없음"); } public Student(int studentID, String studentName) { this.studentID = studentID; this.studentName = studentName; } }
- this를 사용하여 다른 생성자를 호출 할 때는 그 이전에 어떠한 statement(code)도 사용해선 안된다.
- =생성자 내 가장 첫 줄이어야 한다.
- 자신의 주소를 반환
-
public Student showthis() { return this; }
- 클래스 내에 위와같은 메서드를 설정하면 각 생성된 인스턴스의 heap주소를 가리키는 참조값을 반환한다.
- 잘 사용하지 않는 방법
-
'JAVA > 언어입문' 카테고리의 다른 글
자바(JAVA) - static 변수 / static 메서드 (0) | 2022.03.25 |
---|---|
자바(JAVA) - 객체간 협력 (0) | 2022.03.16 |
자바(JAVA) - 접근제어자(private/default/protected/public) (0) | 2022.03.15 |
자바(JAVA) - 참조자료형(Reference Data Type) (0) | 2022.03.14 |
자바(JAVA) - 생성자(constructor) (0) | 2022.03.09 |
댓글