카테고리 없음
[Java] this 예약어와 메모리
321
2021. 1. 19. 17:26
클래스 선언
public class Person {
String name;
int age;
int height;
public void setAge(int age) {
this.age = age;
}
public void print(){
System.out.println(this);
}
}
실행
public class Test{
public static void main(String[] args){
Person p1 = new Person();
p1.setAge(28);
//28 => this.year
p1.print();
}
}
이때 p1을 생성자로 새로 만들면 heap메모리에 추가됨
생성자가 heap에 자리하고 만약 System.out.println(p1.age) 나 System.out.println(p1.print)를 실행하면
heap에 생성된 주소 (0x01)을 출력한다.
2024. 07. 21 추가
String Name을 대문자로 선언한 것은 그림이라서 수정되지도 않는다;
new 생성자는 메모리(heap)에서 생성되고, 메모리 범위 내에서 this가 결정된다.