전역변수 vs 멤버변수

반응형
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) 필드와 지역변수의 변수명이 같을시 지역변수가 우선시된다.

 

반응형

Designed by JB FACTORY