Coding/Java
전역변수 vs 멤버변수
shbada
2018. 10. 28. 12:36
728x90
반응형
필드
어떠한(객체) 데이터를 제공하기 위한 역할을 한다.
-필드: 클래스 안에서 선언되는 변수
-지역변수: 메소드, 블록{} 안에서 선언되는 변수
public class Test {
// 필드선언 위치
String str;
public static void main(String[] args) {
Test a = new Test();
a.b();
}
public Test() {
// 생성자
}
public void b() {
// 메소드
String v;
System.out.println(v); // ERROR -> 지역변수 v는 자동으로 초기화되지 않기때문이다.
String str = "JAVA";
System.out.println(str); // 지역변수 str (전역변수 str이 아닌 지역변수 str이 우선시된다.)
System.out.println(this.str); // 전역변수 str
}
}
(1) 필드는 프로그램이 실행되어 종료될때까지 메모리 상에 남아있는다.
(2) 필드에서 변수를 선언할시(전역변수), 클래스내의 모든 메소드에서 this 와 함께 사용이 가능하다.
(3) 지역변수는 자동으로 초기화되지 않는다.
(4) 필드와 지역변수의 변수명이 같을시 지역변수가 우선시된다.
반응형