자바에서 유효 범위란 어떤 변수가 어디까지 영향을 미치는지를 말한다
한 메소드 안에서 int i = 0; 이라고 선언이 됬으면 이 변수는 그 메소드 안에서만 효력이 발생된다
클래스 변수 static 변수는 전역변수라고도 하고 인스턴스 변수 non static 변수는 지역변수라고도 한다
전역변수는 클래스 안에 있는 모든 변수와 메소드에 영향을 미치고
지역변수는 그 중괄호 안에 있는 변수와 메소드 안에 있는 코드들에만 영향을 미친다
*변수를 선언한다는 건 그 우효범위를 설정하는 것과 같다
C3라는 클래스를 만들고 그 생성자의 복제품을 c1이라는 인스턴스에 대입
c1 인스턴스에 포함 되어 있는 m() 메소드를 호출
m 메소드는 변수 v를 호출하는데 앞에 this.이 붙어 있으므로 전역변수인 정수 10을 출력한다
만약 this.이 붙어 있지 않았다면 우선 순위에 있는 지역변수 v를 가져와 20을 출력한다
This
This는 본인이 속해 있는 클래스를 호출한다
같은 이름을 가진 변수가 있을 때 유용하다
'Java > 자바' 카테고리의 다른 글
Overriding (0) | 2021.01.14 |
---|---|
상속과 생성자 (0) | 2021.01.14 |
클래스와 인스턴스 그리고 객체 (0) | 2021.01.13 |
객체지향프로그래밍 (0) | 2021.01.12 |
메소드 (0) | 2021.01.12 |