티스토리 뷰

반응형

※개념정리

지역변수

1. 지역안에서 선언된 변수

2. 사용자가 직접 초기화

3. 다른영역에서 접근할 수 없어 보완성이 높다.

 

전역변수

1. 클래스 안에 있으며, 전체영역에서 사용가능한 변수

2. new를 만나면 초기화

3. 다른영역에서 접근가능 하며, 보안성이 떨어진다.

public class VariableTest {

String area = "서울";

void trip1() {
System.out.println("1)전역변수 "+area);
}
void trip2() {
String area="경기";
System.out.println("2)지역변수 "+area);
}
void trip3() {
String area="대전";
area = this.area;
System.out.println("3)지역/전역변수 "+area+"/"+this.area);

}

String area = "서울";은 클래스 전역에 존재하는 변수이다.그래서 trip1( )메소드에서 변수 area를 호출하면, 전역변수인 서울이 출력된다.

하지만 trip2( )의 경우 메소드 안에서 지역변수를 새로 만들었기에 String area String area는 스코프가 다르므로 다른 변수이다.

 

trip의 경우는 지역변수를 "대전"이지만this.area는 전역변수인 "서울"이다. 즉 area = this.area;는 대전이라는 변수를 서울이라는 전역변수로 초기화 하는 것이므로 서울/서울이 출력

area = this.area;가 없었다면 대전/서울로 출력

this.area = area; 라면, 대전/대전으로 출력된다.

void trip6() {
System.out.println("5)전역변수: "+area);
System.out.println("5)전역변수 "+this.area);
}

//메소드 안에 지역변수가 존재하지 않는다면 지역변수는 자동적으로 전역변수와 같아진다.

 

vt = new VariableTest();

new을 선언하면, 전역변수는 초기화 되지만, 지역변수는 초기화 되지 않는다.

 

댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함