티스토리 뷰
정말 오랜만의 java강좌네요. ㅎㅎㅎ
책으로는 공부했지만 강좌를 올릴 여건이 안되서. ㅎㅎ;;
으아 책 진도는 지금 메소드 다 끝났는데 ㅎㅎ;;
아무튼 빨리 시작하겠습니다.
스코프란? 영역이라는 뜻입니다.
자바에서 말하는 스코프란 변수에 대한 접근과 변수가 존재할 수 있는 영역을 의미합니다.
자바에서 중괄호 { }로 한 영역이 생성된다면 그 영역에 관한 스코프를 형성하게 됩니다.
예를 들면 메소드를 이루고 있는 것이 { }죠? 각각 다른 메소드에서 같은 이름의 변수 선언이 가능합니다.
만약 스코프가 없다면 이런 일은 불가능 하지요.
예제로 확인해 봅시다.
class JavaScope { public static void main(String[] args) { // Scope에 대해 알아봅시다 int number=1; int ITblog=1; System.out.println(number+ITblog); add(); } public static void add() { int number=3; int ITblog=5; System.out.println(number+ITblog); } }
만약 변수의 스코프가 없다면, 이 소스는 불가능합니다.
]같은 이름의 변수가 다른 메소드에서 각각 형성되었기 때문입니다.
그런데 실행결과를 한번 봅시다.
정상적입니다. ㅎㅎ;;
이것은 변수의 스코프가 없다면 불가능한 일입니다.
이렇게 간단하게 살펴본 스코프는 몇 가지 특징을 가지고 있습니다.
하나는 선언된 영역, 즉 {}나 ()를 벗어나면 소멸되어 버립니다.
만약 자동으로 소멸되지 않는다면 프로그램 실행에 문제가 발생할 수도 있고 메모리 낭비도 심하겠죠?
이런 변수를 지역변수(local variable)이라 합니다.
변수의 중요한 특징이니 꼭 알아두시고, 우리는 중괄호를 벗어나면 소멸될 변수를 다른 메소드에서 참조하는 일이 없도록 소스를 만들어야겠습니다.
'Programming > Java' 카테고리의 다른 글
완성도 높은 무료 Java 학습 어플리케이션, Learn Java (0) | 2016.08.20 |
---|---|
[Java] HTML 태그(Tag) 삭제하기 (2) | 2014.02.15 |
값을 반환하는 메소드 (0) | 2013.09.07 |
번외 - rand함수를 이해하자 (0) | 2013.08.14 |
할인률과 할인된 가격을 구하는 JAVA 프로그램 (1) | 2013.05.12 |
메소드, 우리가 아는것과 모르는것 (0) | 2013.05.03 |
총정리 / 루트와 String (0) | 2013.03.13 |
무한루프(無限Loop)와 그 유용성에 대해 (0) | 2013.03.08 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
Blogger Info
- String Name = Miru(itmir913);
- String Mail = itmir913@gmail.com;
- String github = https://github.com/itmir913;