본문 바로가기
JAVA

14일차// 객체지향 프로그래밍 간단정리(3)✍// 유효범위, this

by aesup 2021. 1. 28.
728x90

프로그램이 커지면 여러 이유로 변수나 메소드의 이름이 "충돌" 하게 된다.

이를 해결하기위해 > 유효범위라는 개념이 나왔다(스코프 Scope)

두 클래스의 차이점을 살펴보자

Demo2는 i라는 변수를 메소드 밖에 선언해줬다

a()의 i 는 전역변수인 i를 통해 가져온것이다

 

int i = 0; 으로 설정할경우(지역변수)

-> 밖에있는 전역변수인 i와 전혀 무관

b()메소드는 본인 메소드, 전역변수가 유효범위 이다.


 

this

this는 인스턴스 자신을 의미하는 키워드라고 할 수 있다.

 

this.v -> this를 씀으로써 맴버변수 v 값을 출력

 

  •  중괄호 코드 내에 지역변수가 있을 때 전역변수 보다는 지역번수 우선
  •  중괄호 코드 내에 지역변수가 없을 때 전역변수를 불러서 쓴다
  •  지역변수는 다른 중괄호 코드에서 불러서 쓸 수 없다.
  • 전역변수와 연관된 지역변수는 전역변수를 통해 불러 쓸 수 있다.
  • 클래스 내에서 선언 전역변수
  • 메소드 내에서 선언 지역변수

 

728x90