본문 바로가기
IT/JAVA

[JAVA/자바] 유효범위 - 전역변수, 지역변수

by 가아앗 2022. 11. 6.
반응형

유효 범위?

여러 개발자들과 프로그램을 협업하거나 프로그램이 커지면서 여러 가지 이유로 이름이 충돌될 수 있다.

이러한 상황을 해결하기 위해 유효 범위(scope)라는 개념이 생겼다.

 

간단하게 말하자면  {} 범위 내에서 선언한 변수는 {} 범위 내에서만 유효하다.

 

 

 

 지역변수, 전역 변수

 

지역변수 - 메소드 내에서만 접근 할 수 있는 변수.

 

메소드 a에서 변수 b는  a메소드 밖에서는 영향을 주지 않는다.

 

 

예제)

 

main이 먼저 실행되고 a메소드를 실행시킵니다.
a메소드에서 변수 i=10을 선언하고 b메소드를 실행시킵니다.


b메소드에서 i를 출력하려고 하지만 i값을 찾을 수가 없어서 오류가 납니다.
( a메소드에서 만든 변수 i는 a메소드에서만 사용이 가능하기 때문 )

 

 

전역 변수 - 클래스 전역에서 접근할 수 있는 변수.

 

이전에 있던 코드와의 차이는 클래스 Example아래에 i=20이라는 전역 변수를 만들어 주었다.
클래스 Example의 {} 안에 있는 모든 곳에 접근할 수 있는 전역 변수가 된다.


따라서 메서드 b에서 출력하는 i값은 20이 됩니다.

 

결국 어떤 변수를 선언한다는 것은 변수의 유효 범위를 설정하는 것과 같다.

 

반응형

댓글