java 에서 this 이것은 즉 인스턴스 자기 자신을 가리키는 키워드이다. 이 키워드를 통해 클래스 메서드 및 생성자에게 자기 자신의 데이터를 업데이트 하거나 조작할 수 있다.
this는 클래스를 기반으로 생성된 인스턴스를 가르키는데 이 참조를 통해 인스턴스의 필드나 메서드에 접근할 수 있다. 예를 들어, 인스턴스 변수와 매개변수 이름이 같을 때, this를 사용하여 인스턴스 변수를 구분할 수 있다.
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name; // this를 사용하여 인스턴스 변수와 매개변수를 구분
this.age = age; // this를 사용하여 인스턴스 변수와 매개변수를 구분
}
}
this는 메서드 체이닝에서도 유용하다. 메서드 체이닝은 한 줄에 여러 개의 메서드를 호출하는 방식으로, 이전 메서드의 반환값을 다음 메서드의 호출 대상으로 사용한다.
public class Person {
private String name;
private int age;
public Person setName(String name) {
this.name = name;
return this; // this를 반환하여 메서드 체이닝
}
public Person setAge(int age) {
this.age = age;
return this; // this를 반환하여 메서드 체이닝
}
}
Person person = new Person().setName("John").setAge(20);
this는 일반적으로 인스턴스 변수나 인스턴스 메서드 내에서 사용되는데 static 메서드나 클래스 변수에서는 사용할 수 없다. 또한 this는 생성자에게 다른 생성자를 호출할 때 사용될 수 있다. 이때, 다른 생성자를 호출하는 코드는 반드시 생성자의 첫 번째 줄에 위치해야한다.
public class Person {
private String name;
private int age;
public Person() {
this("Unknown", 0); // 다른 생성자 호출
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
'Java' 카테고리의 다른 글
JAVA Abstract (0) | 2023.05.02 |
---|---|
JAVA 다형성 (0) | 2023.05.02 |
JAVA Scanner (0) | 2023.05.01 |
JAVA Static (0) | 2023.04.27 |
JAVA 생성자 (0) | 2023.04.26 |
댓글