Back-End/Java
[Java] this 키워드
nanee_
2021. 8. 27. 13:45
728x90
반응형
SMALL
this
1. 인스턴스(객체) 자기 자신의 메모리를 가리킨다.
2. 생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다.
3. 자신의 주소(참조값, 주소값)을 반환시킬 수 있다.
1. 인스턴스(객체) 자기 자신의 메모리를 가리킨다.
public class Engine{
String name;
int price;
// 생성자
public Engine(String name, int price){
this.name = name;
this.price = price;
}
}
Engine 클래스에 멤버변수로 name과 price를 선언했다.
Engine의 생성자를 만들어 줄 때,
매개변수를 받아 멤버변수의 값으로 초기화하려고 하는데
변수명이 같아서 혼동이 올 수 있다.
이 때 this를 사용해 멤버변수임을 표시해줄 수 있다.
this에 점연산자(.)를 붙여주면 Engine 자기자신의 멤버변수에 접근이 가능하다.
this.멤버변수
2. 생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다.
public class Engine{
String name;
int price;
// 생성자 1
public Engine(String name, int price){
this.name = name;
this.price = price;
}
// 생성자 2
public Engine(){
this("GDI", 5_000_000);
}
}
this. 은 자기 자신의 메모리에 접근한다는 것을 위해서 확인했다.
더 나아가 생성자를 호출할 수도 있다.
만들어 놓은 생성자1을 생성자2에서 this를 사용해 생성자1 형식대로 값을 초기화할 수 있다.
3. 자신의 주소(참조값, 주소값)을 반환시킬 수 있다.
public class Engine{
String name;
int price;
public Engine(String name, int price){
this.name = name;
this.price = price;
}
public Engine(){
this("이름 없음", 1);
}
public Engine getEngine(){
return this;
}
public static void main(String[] args){
Engine e1 = new Engine();
e1.name = "GDI";
e1.price = 5_000_000;
Engine e2 = e1.getPerson();
System.out.println(e1);
System.out.println(e2);
}
}
728x90
반응형
LIST