[Java] 변수 시작

코드 속의 "진돌"·2023년 12월 20일
0
post-thumbnail

✅ 패키지(package)

  • 패키지는 자바 파일을 구분하기 위한 폴더이다.
  • variable이라는 패키지를 만들었다면, 해당 패키지에 들어가는 자바 파일 첫줄에 package variable;과 같이 소속된 패키지를 선언해주어야 한다.
  • 자바 파일이 위치하는 패키지와 package variable 선언 위치가 같아야 한다.

✅ Var1

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번 출력하도록 코드를 변경해보자

✏️ Var1 (10 -> 20)

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)라는 기능을 제공한다. 변수는 이름 그대로 변할 수 있다는 뜻이다.


✅ Var2

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);
  }
}

✏️ a = 10 실행 결과

10
10
10

이번에는 a = 20으로 변경해서 실행해보자.

✏️ Var2 (a = 10 -> 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);
  }
}

✏️ a = 20 실행 결과

20
20
20

a의 값을 변경하면 출력 결과가 모두 변경되는 것을 확인할 수 있다.


✅ 코드 분석

✏️ 변수 선언

int a

  • 숫자 정수(integer)를 보관할 수 있는 이름이 a라는 데이터 저장소를 만든다. 이것을 변수라 한다.
  • 이렇게 변수를 만드는 것을 변수 선언이라 한다.
  • 이제 변수 a에는 숫자 정수를 보관할 수 있다.
  • 숫자 정수 뿐만 아니라 문자, 소수와 같이 다양한 종류 값을 저장할 수 있는 변수들이 있다. 우선은 숫자 정수를 저장하는 int를 알아두자.

✏️ 변수에 값 대입

a = 10

  • 자바에서 =은 오른쪽에 있는 값을 왼쪽에 저장한다는 뜻이다. 수학에서 이야기하는 두 값이 같다(equals)와는 다른 뜻이다.
  • 숫자를 보관할 수 있는 데이터 저장소인 변수 a에 값 10을 저장한다.
  • 이처럼 선언한 변수에 처음으로 값을 대입해서 저장하는 것을 변수 초기화라 한다.

✏️ 변수 값 읽기

System.out.println(a)

  • 변수에 저장되어 있는 값을 읽어서 사용하는 방법은 간단하다. 변수 이름을 적어주기만 하면 된다.
  • 변수 a10이 들어가 있다면 자바는 실행 시점에 변수의 값을 읽어서 사용한다. 따라서 다음과 같이 해석된다.
    • System.out.println(a) // 변수 a의 값을 읽음
    • System.out.println(10) // a의 값인 10으로 변경, 숫자 10 출력
  • 참고로 변수의 값은 반복해서 읽을 수 있다. 변수의 값을 읽는다고 값이 없어지는 것이 아니다.
profile
매일 성장하는 주니어 개발자의 기록📝

0개의 댓글