Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 절차지향
- 문자와숫자#특수기호
- 자바#게임
- 쿠팡
- 자바
- springboot
- jpa
- /자바 #/간단한프로그램
- sprinboot
- Update
- 자바#제네릭스기본#List개념
- 탐사수
- t삭제(delete)
- 물
- 조건문#중첩반복문#기본
- 오버라이딩
- CRUD
Archives
- Today
- Total
간단
this 란? 본문
728x90
- 기본 개념으로 인스턴스 자기 자신을 가르키는 것
public class C1 {
int v = 10; //전역변수
void m(){
int v = 20;
System.out.println(v); // 유효범위중 지역 변수가 전역 변수보다 우선순위 이기 때문에 20이 호출
}
public static void main(String[] args) {
C1 c = new C1();
c.m();
}
}
위 코드는 전역변수와 m()라는 메소드안에 지역변수가 선언되어 있다. 우선순위로 인해 실행결과는 20이 출력되는 상황
하지만 20의 값도 넣고 싶고 10의 값도 넣고 싶을때는 어떻게 해야 할까?
this 를 사용
public class C1 {
int v = 10; //전역변수
void m(){
int v = 20;
System.out.println(v); // 유효범위중 지역 변수가 전역 변수보다 우선순위 이기 때문에 20이 호출
System.out.println(this.v);// this 를 사용하면 전역에 대한 의미를 갖게된다
}
public static void main(String[] args) {
C1 c = new C1();
c.m();
}
}
20과 10이 출력이 된다 this.v는 전역변수의 int v = 10; 의 전역변수의의미를 가지게 되는 것
※즉, 변수의 이름이 같을 때 , 전역변수와 지역변수를 구분하기 위해(this가 붙어 있는 것은 전역변수) 사용