JAVA

[JAVA] this의 의미

인디아나쥰이 2020. 11. 13. 15:49
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Shop{
 
    //필드
    int stock;
 
    //메소드
    void setStock(int a){
 
        stock = a;
 
    }
 
}
cs
 
 

위와 같이 stock 에 외부의 값을 입력받을수 있는 setStock() 이라는 Setter함수를 선언하였다.

위에서는 메서드의 인자 변수이름을 int a 라 하였는데 여기서 인자값의 변수를 

필드의 이름과 같이 하려면?

 

this를 사용하면,

메서드의 인수나 변수에 필드와 같은 이름을 붙여도 그것들을 구분하여 사용할 수 있다.

this 는 주로 생성자와 메소드의 매개변수 이름이 필드와 동일한 경우, 

인스턴스 멤버인 필드임을 명시하고자 할때 사용한다.

cs
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Shop{
 
    //필드
    int stock;
 
    //메소드
    void setStock(int stock){
 
        this.stock = stock;
 
    }
 
}
cs

위와 같이 인자값의 변수명과 필드의 변수명이 같아도 

this를 활용하면 같이 사용이 가능하다.

위의 코드를 예로 들자면

this.stock은 필드인 stock을 의미한다.

즉 this뒤의 변수명은 인수가 아닌 멤버변수(필드)를 의미하는것이 된다.

 

this.stock 은 멤버 변수의 값

this.stock = stock; 의 stock은 인자값.

 

출처:coding-factory.tistory.com/523

728x90
반응형