Language/Java

변수의 선언과 초기화

도시와 2023. 10. 31. 12:34

변수(variable)란?

단 하나의 값을 저장할 수 있는 메모리 공간

※ 하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사라진다.

 

 

변수의 선언

변수를 사용하기 위해서는 먼저 변수를 선언해야 한다.

 

변수를 선언한다는 것은 컴파일러에게 변수 타입: '저장할 값이 어떤 종류(type)인지’과 변수 이름: '할당된 메모리 공간을 앞으로 뭐라고 부를지’을 알려주는 것이다.

 

컴파일러는 타입을 통해 알맞은 크기의 저장공간을 확보할 수 있고, 이름을 통해 원하는 값을 쉽게 찾을 수 있다.

때문에 변수를 선언할 때는 저장하려는 값과 일치하는 타입을 사용해야 하고, 중복되지 않는 이름을 사용해야 한다.

변수의 선언을 잘못하면 컴파일러가 에러를 발생시킬 수 있다

 

 

다음은 정수형 타입(int)이고, 이름은 'number'인 변수를 선언하는 예시이다.

int number;

 

 

변수의 초기화

변수를 초기화(initialization)한다는 것은 변수를 사용하기 전에 처음으로 값을 저장하는 것을 말한다.

 

변수의 종류에 따라 생략할 수도 있지만, 기본적으로 변수를 사용하기 전에는 변수를 초기화해야 한다.

→ 메모리 공간은 여러 프로그램이 공유하는 자원이므로, 다른 프로그램이 사용하고 남은 흔적(쓰레기 값; garbage value)이 남아 있을 수 있기 때문이다.

 

다음은 위에서 선언한 변수 number를 10으로 초기화하는 예시이다.

number = 10;

 

참고: 일반적으로 등호 '='는 '두 대상이 서로 같음'을 의미하지만, 프로그래밍에서는 '오른쪽의 값을 왼쪽의 변수에 대입함'을 의미한다.

자세한 내용은 추후 연산자 파트에서 설명할 예정이다.


 

변수의 선언과 초기화는 동시에 할 수 있으며,

int num = 10; // 선언과 초기화를 동시에 진행

 

두 개 이상의 변수를 한 번에 선언하거나 초기화할 수도 있다.

→ 단, 타입이 같은 경우에만 가능하다.

int a, b; // 변수를 한 줄에 선언
int x = 0, y = 0; // 변수를 한 줄에 초기화

 

 

변수의 명명규칙

변수의 이름은 자유롭게 붙일 수 있지만, 다음의 몇 가지 규칙을 준수해야 한다.

1. 대소문자가 구분되며, 길이에 제한이 없다.
  → Name과 name은 서로 다른 것으로 간주된다.
2. 예약어를 사용해서는 안 된다.
  → true는 예약어라서 사용할 수 없지만, True는 가능하다.
3. 숫자로 시작해서는 안 된다.
  → top10은 허용되지만, 7up은 허용되지 않는다.
4. 특수문자는 '_'와 '$'만을 허용한다.
  → $harp는 허용되지만, S#arp는 허용되지 않는다.

 

이외에도 필수 규칙은 아니지만, 코드를 쉽게 이해할 수 있도록 하기 위해 개발자들이 따르는 암묵적인 약속도 있다.

1. 변수 이름의 첫 글자는 항상 소문자로 작성한다.
2. 변수 이름은 짧을수록 좋지만, 약간 길더라도 알기 쉬운 의미 있는 이름으로 작성한다.
3. 다른 문자도 사용할 수 있지만, 되도록 영문자로 작성한다.
4. 단어의 구분을 위해 띄어쓰기가 필요할 때는 대문자를 사용한다.  ex) javaStudy