지역변수(stack 영역)
- 지역안에서 선언된 변수
- 그 영역의 닫는 중괄호( } ) 를 만났을 때, 메모리에서 해제된다.
- 사용자가 직접 초기화 해야한다.
- 다른 영역에서 접근할 수 없기 때문에 보안성이 뛰어나다.
ex )
1
2
3
4
5
6
7
8
9
|
package
public class Main {
public static void main(String[] args) {
int a = 0; //지역변수.
}
}
|
전역변수(data 영역)
- 클래스 영역 안에 있고, 전체 영역에서 사용가능한 변수
- 클래스 영역 외의 어떠한 영역에도 포함되어 있지 않다.
- new를 만났을 때 초기화 된다.
- 프로그램 종료시 메모리에서 해제된다.
- 다른 영역에서도 접근 할 수 있기 때문에, 보안성이 상대적으로 낮다.
ex )
1
2
3
4
5
6
7
8
9
10
|
package 함수2.형성평가02;
public class Main {
int a = 0; //전역변수.
public static void main(String[] args) {
}
}
|
static변수(data 영역)
- 컴파일을 하게 되면 가장 먼저 메모리에 올라가고, 어떠한 경우에도 초기화가 되지 않는다.
- 단, 프로그램 종료시 메모리에서 해제 된다.
- 메모리에 고정되기 때문에 남용시 메모리 혹은 프로그램 실행 속도에 악영향을 준다.
'Language > Java' 카테고리의 다른 글
[java] 자바 상속(inheritance) (0) | 2020.04.19 |
---|---|
[java] 자바 생성자(Constructor) 와 this (0) | 2020.04.19 |
[Java] 자바 오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2020.04.15 |
[Java] 자바 split 함수 ( 문자열을 끊어서 배열에 저장 ) (0) | 2020.03.16 |
[Java] 자바 접근권한제어자 (Default, Public, Protected, Private) (0) | 2020.03.15 |