1. this
멤버변수와 로컬변수는 메모리의 위치가 다르기 때문에 같은 변수명을 사용해도 된다.
하지만 그렇게 되면, 사람도 헷갈리고 컴퓨터도 헷갈린다.
따라서 this라는 키워드를 이용해서 구분해주는 용도로 쓴다.
- this는 객체 자기 자신을 의미, 자신의 메모리를 가르킴
- 전역 변수와 지역 변수를 구분짓기 위한 참조 변수
- 생성자의 파라미터 이름이 전역 변수와 이름이 같을 때 구분하기 위해 사용
- 클래스 변수, static 키워드에서는 this를 사용 할 수 없음
public class Member {
private String name;
private String tel;
private String address;
public Member(){
}
public Member(String name, String tel, String address){
this.name = name;
this.tel = tel;
this.address = address;
}
2. this()
this()는 같은 클래스의 다른 생성자를 호출할 때 사용한다.
아래 코드의 Car() 생성자와 Car(String color) 생성자는 this()를 통해 모두
Car(String color, String gearType, int door) 생성자를 호출하고 있는 것이다.
class Car{
String color; // 인스턴스 변수
String gearType;
int door;
Car(){
this("white", "auto", 4); // Car(String color, string gearType, int door)를 호출
}
Car(String color){
this(color, "auto", 4);
}
Car(String color, String gearType, int door){
this.color = color;
this.gearType = gearType;
this.door = door;
}
}
'Java' 카테고리의 다른 글
Java - 클래스 상속(Inheritance), 오버라이딩(Overriding) (0) | 2023.01.19 |
---|---|
Java - 접근제어자와 getter/setter, 캡슐화 (0) | 2023.01.19 |
Java - 생성자(Constructor) (0) | 2023.01.19 |
Java - 메소드 오버로딩(Method Overloading) (0) | 2023.01.18 |
Java - 클래스와 객체, 메모리 이해하기 (0) | 2023.01.18 |