반응형
유효 범위?
여러 개발자들과 프로그램을 협업하거나 프로그램이 커지면서 여러 가지 이유로 이름이 충돌될 수 있다.
이러한 상황을 해결하기 위해 유효 범위(scope)라는 개념이 생겼다.
간단하게 말하자면 {} 범위 내에서 선언한 변수는 {} 범위 내에서만 유효하다.
지역변수, 전역 변수
지역변수 - 메소드 내에서만 접근 할 수 있는 변수.
메소드 a에서 변수 b는 a메소드 밖에서는 영향을 주지 않는다. |
예제)
main이 먼저 실행되고 a메소드를 실행시킵니다. a메소드에서 변수 i=10을 선언하고 b메소드를 실행시킵니다. b메소드에서 i를 출력하려고 하지만 i값을 찾을 수가 없어서 오류가 납니다. ( a메소드에서 만든 변수 i는 a메소드에서만 사용이 가능하기 때문 ) |
전역 변수 - 클래스 전역에서 접근할 수 있는 변수.
이전에 있던 코드와의 차이는 클래스 Example아래에 i=20이라는 전역 변수를 만들어 주었다. 클래스 Example의 {} 안에 있는 모든 곳에 접근할 수 있는 전역 변수가 된다. 따라서 메서드 b에서 출력하는 i값은 20이 됩니다. |
결국 어떤 변수를 선언한다는 것은 변수의 유효 범위를 설정하는 것과 같다.
반응형
'IT > JAVA' 카테고리의 다른 글
[JAVA/자바] 메소드 - 입력값, 출력값,return 리턴값,매개변수,인자 (0) | 2022.11.06 |
---|---|
[JAVA/자바] 객체지향 프로그래밍 - 클래스, 캡슐화, 다형성, 상속,추상화 (0) | 2022.11.06 |
[JAVA/자바] 객체지향 - 인스턴스, new, this (0) | 2022.11.06 |
[JAVA/자바] 생성자, 초기화 (0) | 2022.11.06 |
[JAVA/자바] 인자와 매개변수의 차이 (0) | 2022.11.06 |
댓글