본문 바로가기
카테고리 없음

자바 this의 의미와 사용법

by kangs' tong 2023. 10. 20.

자바 this의 의미와 사용법

1. this란?

  • 자바에서 this는 현재 객체를 가리키는 키워드다.
  • 객체 내부에서 객체 자신을 참조하거나 객체의 멤버에 접근하기 위해 사용된다.

2. this의 사용법

2.1 멤버 변수와 메서드 호출

  • this를 사용하여 현재 객체의 멤버 변수에 접근할 수 있다.
  • this를 사용하여 현재 객체의 메서드를 호출할 수 있다.
public class MyClass {
    private int number;

    public void setNumber(int number) {
        this.number = number; // 현재 객체의 멤버 변수에 접근
    }

    public int getNumber() {
        return this.number; // 현재 객체의 멤버 변수 반환
    }
}

MyClass myObject = new MyClass();
myObject.setNumber(10); // 현재 객체의 setNumber 메서드 호출
int number = myObject.getNumber(); // 현재 객체의 getNumber 메서드 호출

2.2 생성자 호출

  • 생성자를 호출할 때 this를 사용하여 다른 생성자를 호출할 수 있다.
  • 이를 이용하여 중복되는 코드를 줄일 수 있다.
public class MyClass {
    private String name;
    private int age;

    public MyClass(String name) {
        this(name, 0); // 다른 생성자 호출
    }

    public MyClass(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

MyClass myObject1 = new MyClass("Alice"); // MyClass(String name) 생성자 호출
MyClass myObject2 = new MyClass("Bob", 20); // MyClass(String name, int age) 생성자 호출

3. this 주의사항

  • 메서드 내에서만 사용할 수 있다.
  • 정적(static) 메서드에서 this를 사용할 수 없다.
  • 매개변수와 멤버 변수의 이름이 같을 때 this를 사용하여 구분할 수 있다.
public class MyClass {
    private String name;

    public MyClass(String name) {
        this.name = name;
    }

    public void printName(String name) {
        System.out.println(name); // 매개변수 name 출력
        System.out.println(this.name); // 멤버 변수 name 출력
    }
}

MyClass myObject = new MyClass("Alice");
myObject.printName("Bob");

마무리

  • this는 현재 객체를 가리키는 키워드로, 객체 내부에서 사용된다.
  • this를 사용하여 현재 객체의 멤버 변수에 접근하거나 메서드를 호출할 수 있다.
  • 생성자에서 다른 생성자를 호출할 때도 this를 사용할 수 있다.
  • 주의해야 할 점으로는 this는 메서드 내에서만 사용 가능하고, 정적 메서드에서는 사용할 수 없다. 또한 매개변수와 멤버 변수의 이름이 같을 때 this를 사용하여 구분할 수 있다.

댓글