컴퓨터공학 💻 도서관📚
Part2. 2-12 this 본문
this가 하는 일
1. 인스턴스 자기 자신의 메모리를 가리킴
( ex. this.name = name; )
2. 생성자에서 또 다른 생성자를 호출 할때 사용 (super 도 동일함)
( ex. this("이름없음", 1); )
3. 자신의 주소(참조값) 자체를 반환할 때도 사용함
( ex. return this; )
함수나 메서드가 호출이 되면 그 함수와 메서드의 지역변수는 stack 메모리에 할당된다
객체를 new 키워드로 생성해서 생성된 인스턴스는 heap 메모리, 동적 메모리에 할당된다
2. 클래스에 생성자가 여러 개인 경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있음
생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로
this() statement 이전에 다른 명령문을 쓸 수 없음
public class Person {
String name;
int age;
public Person() {
// this() statement 이전에 다른 명령문을 쓸 수 없음, this 이후에 써야 함
this("이름없음", 1); // 생성자에서 다른 생성자를 호출
} // 매개변수에 맞는 생성자가 호출된다
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
3. 자기 자신의 주소를 반환하면 주소는 다음 형태로 출력된다
ch12.Person@1175e2ddb
패키지까지 포함된 클래스의 풀네임 + @ + jvm이 할당해 준 주소
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);
}
}
'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
Part2. 2-16 static 변수: 여러 인스턴스에서 공통으로 사용하는 변수 (0) | 2025.01.28 |
---|---|
Part2. 2-13, 14, 15 객체 간의 협력 (0) | 2025.01.02 |
Part2. 2-11 캡슐화 (encapsulation) (1) | 2024.12.26 |
Part2. 2-10 접근 제어 지시자 (0) | 2024.12.25 |
Part2. 2-9 참조 자료형 변수 (1) | 2024.12.17 |
Comments