객체 자신을 가리키는 this

수현·2022년 12월 14일

Java

목록 보기
23/23

인스턴스 자신의 메모리를 가리킴

  • 클래스 내에서 참조변수가 가지는 주소값과 동일한 주소값을 가짐

생성자에서 또 다른 생성자를 호출

  • 클래스에 생성자가 여러 개인 경우 this를 사용하여 다른 생성자 호출
    this(____) 안에 매개변수를 쓰면 그와 자료형이 같은 매개변수를 가진 생성자를 알아서 불러옴
  • 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로
    this() statement 이전에 다른 statement(코드)를 쓸 수 없음
String name;
int age;

public Person() {
	this("no name", 1);        //생성자 안에서 또 다른 생성자를 호출하는 this
}							   //매개변수 자료형 일치

public Person(String name, int age) {
	this.name = name;
    this.age = age;            //인스턴스 자신의 메모리를 가리키는 this
}

public void showPerson() {
	System.out.println(name + ", " + age);
}

public static void main(String[] args) {
		
	Person suhyun = new Person();
	suhyun.showPerson();   //no name, 1 출력
}

자신의 주소(참조값)을 반환

//위의 코드에 더함

public Person getPerson() {
	return this;
}

public static void main(String[] args) {
		
	Person suhyun = new Person();
	suhyun.showPerson(); 
    
    Person sana = suhyun.getPerson();
    System.out.println(sana);   //suhyun과 같은 주소값 출력
}
profile
실패와 성장을 기록합니다 🎞️

0개의 댓글