본문으로 건너뛰기
Advertisement

2.1 변수란? (Variables)

수학에서는 변수(variable)를 '변하는 수'라고 정의하지만, 프로그래밍에서는 그 의미가 조금 다릅니다.

1. 변수의 정의

프로그래밍에서 변수(variable) 란, "단 하나의 값을 저장할 수 있는 메모리 공간" 을 의미합니다.

메모리(RAM)는 데이터를 저장할 수 있는 수많은 수납장과 같습니다. 우리가 데이터를 저장하려면 먼저 수납장을 확보하고 언제든 쉽게 데이터를 넣고 꺼낼 수 있도록 수납장에 이름을 붙여야 하는데, 이 이름표가 바로 변수명입니다.

2. 변수의 선언과 초기화

변수를 사용하려면 먼저 어떤 종류인지(타입)와 어떤 이름인지(변수명)를 결정하여 '선언'해야 합니다.

변수 선언 방법

int age; // 정수(int) 타입의 변수 age를 선언

변수를 선언하면 메모리의 빈 공간에 '변수 타입'에 알맞은 크기의 저장공간이 확보되고, 이 저장공간은 '변수 이름'을 통해 사용할 수 있게 됩니다.

변수의 초기화

변수를 선언한 이후부터는 변수를 사용할 수 있으나, 그 전에 반드시 변수를 '초기화(initialization)' 해야 합니다. 초기화란 변수를 사용하기 전에 처음으로 값을 저장하는 것을 말합니다.

int age;       // 변수의 선언
age = 25; // 변수의 초기화 (값이 저장됨)

int year = 2024; // 변수의 선언과 초기화를 동시에 할 수 있음

3. 변수의 명명 규칙 (Naming Conventions)

변수의 이름처럼 프로그래밍에서 사용하는 모든 이름을 '식별자(identifier)'라고 하며, 식별자를 만들 때는 다음과 같은 규칙을 지켜야 합니다.

필수 규칙 (위반 시 에러 발생)

  1. 대소문자가 구분되며 길이에 제한이 없다.(Truetrue는 다름)
  2. 예약어(Keyword)를 사용할 수 없다.(int, class, true 등)
  3. 숫자로 시작할 수 없다.(top10은 허용되나, 10top은 불가)
  4. 특수문자는 _$ 두 가지만 허용된다.($harp, S_ystem은 허용, S#arp는 불가)

권장 규칙 (개발자 간의 암묵적 약속)

  1. 클래스 이름의 첫 글자는 항상 대문자로 한다.
    • 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.
  2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다. (Camel Case)
    • 예: lastIndexOf, stringBuffer
    • 예: PI, MAX_NUMBER

💡 코딩 팁: 두 변수의 값 교환하기 (Swap)

프로그래밍을 하다 보면 두 변수에 담긴 값을 서로 바꿔야(Swap) 할 때가 자주 발생합니다. 이 때 가장 흔하게 쓰이는 방법이 바로 임시로 값을 담아둘 '빈 컵(임시 변수)' 을 하나 더 준비하는 것입니다.

int x = 10;
int y = 20;
int temp; // 임시로 값을 저장할 변수 선언

// 값 교환 진행
temp = x; // x의 값을 temp에 미리 복사해 둡니다. (temp = 10)
x = y; // y의 값을 x에 덮어씁니다. (x = 20)
y = temp; // 미리 피신시켜 둔 x의 옛날 값(temp)을 y에 넣습니다. (y = 10)

System.out.println("x:" + x + ", y:" + y); // x:20, y:10
Advertisement