JAVA 프로그래밍 "This"는 뭘까

JAVA에는 This라는 것이 있다.

만약에 클래스안에 변수 a,b가 있으며, 그 값은 각각 1과 2다.

또한 TMethod를 만들어 a,b값을 받으면, 출력이되는데

이 경우 Tmethod에 각 11,22를 넣고 출력하게 한다.

 

그럼 그상태로 출력하면 값은 어떨까?

 

예상하다싶이 11과 22가 나온다.

 

public class This{

 int a= 1;

 int b= 2;

 public void TMethod(int a, int b){

   System.out.println(a);

   System.out.println(b);

 }

 public static void main(Strig[] args){

  This t1 = new This();

  t1.TMethod(11,22);

 }

 

 

This는 뭘 의미할까

변수명이 만약 동일하더라도 This를 쓰면 파라미터에서 가져오는 변수값을 사용하지않고

클래스내의 내가 임의로 설정한 변수명을 사용하게되는것.

 

그럼 위 코드에서 a,b가 어느 값이 나올지 생각을한다면

1. 11/22 출력

2. 1/2 출력

3. 에러

 

답은 1번이다.

11,22를 넣고 TMethod를 부르면 이 녀석은 11,22를 가지고 수행을하는데,

this.a와 b는 1,2이고, 파라미터로 받은 a,b를 넣는다 했으니

 

This.a에는 11이, This.b에는 22가 들어가며 출력되는것이다.