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 출력