
variable이라는 패키지를 만들었다면, 해당 패키지에 들어가는 자바 파일 첫줄에 package variable;과 같이 소속된 패키지를 선언해주어야 한다.package variable 선언 위치가 같아야 한다.package variable;
public class Var1 {
public static void main(String[] args) {
System.out.println(10);
System.out.println(10);
System.out.println(10);
}
}
10
10
10
숫자 10을 3번 출력하는 코드이다. 여기서 숫자 20을 3번 출력하도록 코드를 변경해보자
package variable;
public class Var1 {
public static void main(String[] args) {
System.out.println(20); // 변경 10 -> 20
System.out.println(20); // 변경 10 -> 20
System.out.println(20); // 변경 10 -> 20
}
}
숫자 10이라고 적혀 있는 곳을 모두 찾아서 숫자 20으로 변경해야 한다. 여기서는 총 3번의 코드 변경이 발생했다.
단순한 예제여서 코드를 3번만 변경했지만, 만약 숫자 10을 출력하는 부분이 100개라면 100개의 코드를 모두 변경해야 한다.
더 나아가서 사용자가 숫자를 입력하고, 사용자가 입력한 숫자를 출력하고 싶다면 어떻게 해야할까? 사용자가 입력한 값은 항상 변한다. 누군가는 100을 입력하고 누군가는 200을 입력할 수도 있다.
결국 어딘가에 값을 보관해두고 필요할 때 값을 꺼내서 읽을 수 있는 저장소가 필요하다. 쉽게 비유하자면 데이터를 담을 수 있는 그릇이 필요하다.
모든 프로그래밍 언어는 이런 문제를 해결하기 위해 변수(variable)라는 기능을 제공한다. 변수는 이름 그대로 변할 수 있다는 뜻이다.
package variable;
public class Var2 {
public static void main(String[] args) {
int a; // 변수 선언
a = 10; // 변수 초기화
System.out.println(a);
System.out.println(a);
System.out.println(a);
}
}
10
10
10
이번에는 a = 20으로 변경해서 실행해보자.
package variable;
public class Var2 {
public static void main(String[] args) {
int a; // 변수 선언
a = 20; // 10 -> 20으로 변경
System.out.println(a);
System.out.println(a);
System.out.println(a);
}
}
20
20
20
a의 값을 변경하면 출력 결과가 모두 변경되는 것을 확인할 수 있다.

int a
integer)를 보관할 수 있는 이름이 a라는 데이터 저장소를 만든다. 이것을 변수라 한다.a에는 숫자 정수를 보관할 수 있다.int를 알아두자.
a = 10
=은 오른쪽에 있는 값을 왼쪽에 저장한다는 뜻이다. 수학에서 이야기하는 두 값이 같다(equals)와는 다른 뜻이다.a에 값 10을 저장한다.
System.out.println(a)
a에 10이 들어가 있다면 자바는 실행 시점에 변수의 값을 읽어서 사용한다. 따라서 다음과 같이 해석된다.System.out.println(a) // 변수 a의 값을 읽음System.out.println(10) // a의 값인 10으로 변경, 숫자 10 출력