[java] Variable(변수)

2022. 11. 12. 15:22BACKEND/JAVA

 

 

 

변수는 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름이다.

메모리에 값을 지정하고 싶다면 변수를 선언하고 변수에 값을 지정하면 된다.

자바는 하나의 변수에는 하나의 값만 저장할 수 있다.

정수 타입으로 변수를 선언했으면 그곳에는 정수값만 지정할 수 있다.

변수를 사용하기 위해선 먼저 변수를 선언해야 하는데

변수 선언은 어떤 타입의 데이터를 저장할 것인지 그리고 변수 이름이 무엇인지 정하는 것이다.

int age;    // 정수(int)를 저장할 수 있는 age 변수 선언

 

 

변수에  값을 저장할 때에는 대입 연산자(=)를 사용한다. 오른쪽의 값을 왼쪽에 저장한다는 의미로 이해해야 한다.

자바에서는 변수에 값이 저장되지 않으면 변수가 생성되지 않는다. 선언과 생성은 다른 것이다.

선언은 저장되는 값의 종류와 이름만 언급한 것이고 변수에 최초로 값이 저장될 때 변수가 생성되는 것이다.

이것을 변수 초기화라고 하고 이때 사용된 값을 초기값이라고 한다.

변수가 초기화되면 메모리 번지 정보를 갖게 되고 해당 메모리 번지에 값이 저장된다.

int age;         // 변수 선언
age = 20;        // 값 저장

int age = 20;    // 변수 선언과 동시에 초기값 제공

 

 

변수의 사용 범위는 정해져 있다. 블록 내 어디에서든 변수 선언을 할 수 있지만 변수 사용에는 제한이 있다.

자신이 선언된 위치로부터 자신이 속한 블록 내부에서만 사용할 수 있다.

public class VariableExample {                  // 클래스 블록 시작
	public static void main(String[] args) {    // 매소드 블록 시작
    	int age = 10;                           // 로컬 변수 age
        int myAge = age + 10;                   // 로컬 변수 myAge
        System.out.println(myAge);              // 20
    }
}

 

그래서 변수를 선언할 때에는 일단 어떤 범위에서 사용될 것인지 생각하고 선언 위치를 결정해야 한다.

그리고 메소드 블록 전체에서 사용하고 싶다면 블록 첫머리에 선언한다.

특정 블록 내부에서만 사용할 거라면 해당 블록 내에 선언해야 한다.

public static void main(String[] args) {          // 메소드 블록 시작

	int a;					  // 메소드 블록에서 선언
    
    
    if(...) {						// if 블록 시작
    	int b;						// if 블록에서 선언
        						// 블록 내 a, b 사용 가능
    }
    
    
    for(...) {						// for 블록 시작
    	int c;						// for 블록에서 선언
        						// a, c 사용 가능
        						// b 불가
    }
    							// a 사용 가능
    							// b, c 불가
}

 

 

* 참고자료 * 혼자 공부하는 자바 / 신용권 지음

 

 

 

 

'BACKEND > JAVA' 카테고리의 다른 글

[java] Operator(연산자)  (0) 2022.11.12
[java] 기본 타입과 타입 변환  (0) 2022.11.12