Java

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

hyomee2 2024. 7. 7. 03:53

1. this가 하는 일

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

public class Birthday {
    ...
    public void setYear(int year) {
        this.year = year;
    }
    
    public static void main(String[] args) {
        BirthDay day = new BirthDay();
        day.setYear(2000);
    }
    ...
}

 

 (2) 생성자에서 또 다른 생성자를 호출할 때 사용

  - 클래스에서 생성자가 여러 개인 경우, this을 이용하여 생성자에서 다른 생성자 호출 가능

public class Person {
	String name;
	int age;
	
	public Person() {
		this("이름없음", 1);  // 이렇게 하면 아래의 Person(String name, int age)를 호출하는 것
	}
	
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
}

 

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

public class Person {
	String name;
	int age;
	
	public Person() {
		this("이름없음", 1);
	}
	
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
	
	public Person getPerson() {
		return this;
	}
	
	public static void main(String[] args) {
		Person p = new Person();
		p.name = "James";
		p.age = 37;
		
		Person p2 = p.getPerson();
		System.out.println(p);
		System.out.println(p2);   // p와 p2의 값은 같게 나온다. (주소값)
	}
}

 

 

 

* 본 게시물은 패스트캠퍼스 "한 번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지" 강의를 수강한 내용을 바탕으로 작성했습니다.

'Java' 카테고리의 다른 글

[Java] 배열  (0) 2024.07.11
static 변수  (0) 2024.07.07
접근 제어 지시자(access modifier)와 캡슐화  (0) 2024.07.05
생성자(constructor)와 생성자 오버로딩  (0) 2024.07.05
[Java] 인스턴스 생성과 힙 메모리  (1) 2024.07.05