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

2022. 9. 4. 17:56·🍞 BackEnd/Java

this가 하는 일

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

- 생성자에서 또 다른 생성자를 호출할 때 사용

- 자신의 주소(참조값)를 반환함

 

생성된 인스턴스 메모리의 주소를 가짐

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

 

public void setYear(int year)
{
    this.year = year;
}

 

생성자에서 다른 생성자를 호출하는 this

- 클래스에 생성자가 여러 개인 경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있음

- 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this() statement 이전에 다른 statement를 쓸 수 없음

 

public class Person {

	String name;
	int age;

	public Person() {
		this("이름없음", 1);
	}

	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
}

 

자신의 주소를 반환하는 this

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);
	}
}

저작자표시 (새창열림)

'🍞 BackEnd > Java' 카테고리의 다른 글

[Java] 접근 제어 지시자와 정보 은닉 & 캡슐화  (0) 2022.09.04
[Java] 생성자 constructor  (0) 2022.09.04
[Java] 객체 간의 협력 collaboration  (0) 2022.09.04
[Java] 함수와 메서드  (0) 2022.09.04
[Java] 인스턴스 생성과 힙 메모리  (0) 2022.09.04
'🍞 BackEnd/Java' 카테고리의 다른 글
  • [Java] 접근 제어 지시자와 정보 은닉 & 캡슐화
  • [Java] 생성자 constructor
  • [Java] 객체 간의 협력 collaboration
  • [Java] 함수와 메서드
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    react
    안드로이드
    Java
    길벗 블로깅 멘토링
    JavaScript
    알고리즘
    길벗 블로깅 멘토
    level2
    map
    코틀린
    코딩자율학습
    Android
    C++
    프로그래머스
    유니온파인드
    백준
    위상정렬
    umc
    level1
    Front
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[Java] 객체 자신을 가리키는 this
상단으로

티스토리툴바