[Java] 객체 자신을 가리키는 this

miyeon·2023년 3월 24일
0
post-thumbnail
  1. 생성자 this
    생성자에서 다른 생성자를 호출할 때 사용한다.
    자바의 정석 기초편(생성자) 공부하면서 생성자 this는 생성자내에서 반드시 첫줄에 와야한다고 암기 했었는데, 오늘 온라인강의 수강하면서 이유를 알았다. 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this() 이전에 다른 statement를 쓸 수 없다. 따라서 생성자 this는 첫줄에 와야하는 것이다.

  2. 참조변수 this
    인스턴스 자신의 메모리를 가리킨다.

  3. 자신의 주소를 반환하는 this
    자신의 주소(참조값)을 반환한다.

[소스코드]

package ch12;

public class Person {

	String name;
	int age;
	
	public Person() {
		
		this("no name", 1);	//생성자 this
		
	}
	
	public Person(String name, int age) {
		
		this.name = name;	//참조변수 this
		this.age = age;
		
	}
	
	public void showPerson() {
		
		System.out.println("이름은 " + name + "이고, 나이는 " + age + "살 입니다.");
		
	}
	
	public Person getPerson() {
		
		return this;	//자기 자신의 주소를 반환하는 this
		
	}
	
	public static void main(String[] args) {
		
		Person person = new Person();
		
		person.showPerson();
		
		System.out.println(person);
		
		Person person2 = person.getPerson();
		System.out.println(person2); //jvm이 만들어준 가상 어드레스
		

	}
}

[실행결과]

profile
내가 보려고 기록하는 블로그

0개의 댓글