개발메모장 2022. 11. 1. 16:26

this 

자신을 의미(Class)

자신의 객체 접근할 때 사용, 주로 클래스 변수와 메소드 변수 이름이 동일할 때 구분하기 위해 사용

 

예시)

class ThisTest {
    int i = 10;

  public void a() {
        int i = 20;
        System.out.println(i);           //값 20
        System.out.println(this.i);      //값 10
    }
}

public class zzzz {

    public static void main(String[] args) {
        ThisTest test1 = new ThisTest();
        test1.a();
    }
}

설명)

이렇게 this 를 사용하면 자신의 객체에 접근이 가능하다.

 


심화버전

 

예시) 

class Calulator {
    int left, right;

    public void setnum(int left, int right) {
        this.left = left;
        this.right = right;
    }

    public void sum() {
        System.out.println(this.left + this.right);
    }

    public void avg() {
        System.out.println((this.left + this.right) / 2);
    }
}

public class zzzz {
    public static void main(String[] args) {
        Calulator c1 = new Calulator();
        c1.setnum(10,20);
        c1.sum();
        c1.avg();

        Calulator c2 = new Calulator();
        c2.setnum(30,50);
        c2.sum();
        c2.avg();
    }
}

 

설명)

 


물론 다르면 this 사용 안해도 된다

 

예시)

class Calulator {
    int left, right;

    public void setnum(int numleft, int numright) {
        left = numleft;
        right = numright;
    }

    public void sum() {
        System.out.println(left + right);
    }

    public void avg() {
        System.out.println((left + right) / 2);
    }
}

public class zzzz {
    public static void main(String[] args) {
        Calulator c1 = new Calulator();
        c1.setnum(10,20);
        c1.sum();
        c1.avg();

        Calulator c2 = new Calulator();
        c2.setnum(30,50);
        c2.sum();
        c2.avg();
    }
}