this
1. 인스턴스(객체) 자신의 메모리를 가리킨다.
2. 생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다.
3. 자신의 주소(참조값, 주소값) 를 반환 시킬 수 있다.
package basic.ch11;
public class Person {
private String name;
private int age;
private String phone;
private String gender;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public Person(String name, int age, String phone) {
// 생성자에서 다른 생성자를 호출할 수 있다 this(...)
this(name, age);
this.phone = phone;
// 다른 생성자를 가장 먼저 호출하고 다른 수식을 작성해야 한다
}
public Person(String name, int age, String phone, String gender) {
this(name, age, phone);
this.gender = gender;
}
// 자신의 주소값을 반환 시킬 수 있다
public Person getPerson() {
return this;
}
public void showInfo() {
System.out.println("이름 : " + name + ", 나이 : " + age);
}
public void setName(String name) {
this.name = name;
}
}
package basic.ch11;
public class PersonTest {
public static void main(String[] args) {
Person person1 = new Person("홍길동", 100);
Person personBox = person1;
Person personBox2 = person1.getPerson();
Person personLee = new Person("이순신", 101);
System.out.println("----------------------------");
// 위 코드까지는 heap 메모리 영역에 객체가 2개 생성된 상태이다.
// 지역변수인 person1, personBox, personBox2 는 같은 객체를 가리킨다.
}
}
'Java > Java' 카테고리의 다른 글
static 메서드 ( 함수 ) (0) | 2024.04.19 |
---|---|
static 변수 (0) | 2024.04.19 |
접근 제어 지시자 (0) | 2024.04.17 |
객체 지향 패러다임 (0) | 2024.04.16 |
생성자 ( Constructor ) (0) | 2024.04.16 |