지역변수 전역변수

오늘·2021년 2월 22일
4

Java

목록 보기
4/42

지역변수 전역변수

변수는 "선언위치"에 따라 전역변수와 지역변수로 나눠진다.

  • 전역변수(Global variable) : 어느 위치에서든 호출하면 사용이 가능
    (함수 밖에 선언하여 클래스 전체에서 사용이 가능한 변수)
  • 지역변수(Local variable) : 특정구역({ }) 내에서 생성되어 그 구역에서만 사용
    (함수 속에 선언되어 해당 함수 속에서만 사용이 가능한 변수)
public class HelloAndroid {
	//메소드 밖에 있는 변수는 전역변수
	//전역변수의 생명주기는 클래스 끝
	
	static String strr = "전역변수";
	
    public static void main(String[] args) {
		System.out.println(strr);
		
		String local = "지역변수";
		//메소드 안에 넣어준 변수는 지역변수
		//지역변수는 해당하는 메소드만 사용
		
		System.out.println(local);
		
		method1();
	}
	public static void method1() {
		System.out.println(strr);
		//전역변수라 출력 가능
        
		//System.out.println(local);
		//지역변수이기에 출력 불가. 에러발생
	}
}

전역변수 (Global variable)

  1. 인스턴스 변수(instance)
    클래스 영역에서 선언되어, 객체가 생성 될 때마다 만들어지고 생성되었을 때만 호출하여 사용할 수 있음
public class ChangeMoney {
	    int a;
            //변수 선언
	public static void main(String[] args) {

		ChangeMoney ob = new ChangeMoney();
        	//이곳에서 사용할 수 있게 선언해준다
       
		System.out.println("int a     :" + ob.a);
       		// 전역 변수는 초기화 하지 않아도 자바가 자동으로 해줌..
	}
}
  1. 클래스 변수(static)
    객체를 따로 생성하지 않아도 사용 가능
    남발시 프로그램 실행 속도에 악영향
public class ChangeMoney {
	static
        int a;
            //변수 선언
	public static void main(String[] args) {

		//ChangeMoney ob = new ChangeMoney();
        	//static을 해주면 선언 안해줘도 이곳에서 사용할 수 있다
       
		System.out.println("int a     :" + ob.a);
	}
}

0개의 댓글