[Java의 정석]제2장 변수 - 1.변수

류명운

·

2014. 7. 3. 22:21

반응형
1.변수(Variable)
1.1 변수란?

컴퓨터 언어에서 변수(variable)란, 값을 저장할 수 있는 메모리상의 공간을 의미한다. 계산을 하기 위해서 변수를 사용하지 않고 값을 직접 사용할 수도 있지만, 의미있는 이름의 변수에 저장하여 사용하는 것이 더 바람직하다.
변수의 값은 바뀔 수 있으며, 하나의 변수에는 단 하나의 값만을 저장할 수 있다. 그래서 값을 여러 번 저장하면 마지막에 저장한 값을 갖게 된다.


1.2 변수의 선언

변수를 사용하기 위해서는 먼저 변수를 선언해야한다. 변수가 선언되면 메모리 공간에 변수의 타입에 알맞은 크기의 메모리공간이 확보되어, 값을 저장할 준비가 되는 것이다.
변수를 선언하는 방법은 다음과 같다.


변수타입 변수이름;

int number; // 정수형 변수 number를 선언한다.


변수를 선언할 때는 변수의 타입과 이름을 함께 써주어야 한다. 위의 예는 number라는 이름의 정수형 변수를 선언한 것이다. 변수타입은 변수에 담을 값의 종류와 범위를 충분히 고려하여 결정해야한다.

변수를 선언한 후부터는 변수를 사용할 수 있으며, 변수를 사용하기에 앞서 적절한 값을 저장해주는 것이 필요하다. 이것을 변수의 초기화라고 하는데, 보통 아래와 같이 변수의 선언과 함께 한다.


// 정수형 변수 number를 선언하고 변수의 값을 10으로 초기화 했다.
int number = 10;

// 위 문장은 아래의 두 문장과 동일하다.
int number;
number=10;


변수의 종류에 따라 변수의 초기화를 생략할 수 있는 경우도 있지만, 변수는 사용되기 전에 적절한 값으로 초기화 하는 것이 좋다.
[참고] 지역변수는 사용되기 전에 초기화를 반드시 해야 하지만 클래스변수와 인스턴스변수는 초기화를 생략할 수 있다. 변수의 초기화에 대해서는 후에 자세히 학습하게 될 것이다.


1.3 명명규칙(Naming Convention)

변수의 이름, 메서드의 이름, 클래스의 이름 등 모든 이름을 짓는 데는 반드시 지켜야 할 공통적인 규칙이 있으며 다음과 같다.


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


[참고]예약어는 keyword 또는 reserved word라고 하는데, 프로그래밍언어에서 구문에 사용되는 단어를 뜻한다. 그래서, 예약어는 이름으로 사용될 수 없다.

예약어는 앞으로 차차 배워 나가게 될 것이므로 지금은 간단히 훑어보는 보는 정도면 충분하다.




[표2-1]자바에서 사용되는 예약어
[참고] 이 밖에도 goto와 const가 더 있지만 사용되지 않는다.

그 외에 필수적이지는 않지만, 자바프로그래머들에게 권장하는 규칙들은 다음과 같다.


1. 클래스 이름의 첫 글자는 항상 대문자로 한다.
- 변수나 메서드의 이름의 첫 글자는 항상 소문자로 한다.
2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
- lastIndexOf, StringBuffer
3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'를 사용하여 구분한다.
- PI, MAX_NUMBER

위의 규칙들은 반드시 지켜야 하는 것은 아니지만, 코드를 보다 이해하기 쉽게 하기 위한 자바 프로그램들간의 암묵적인 약속이다. 가능하면 지키도록 노력하자.

[참고] 자바에서는 모든 이름에 유니코드에 포함된 문자들을 사용할 수 있지만, 클래스이름은 ASCII코드(영문자)로 하는 것이 좋다. 유니코드를 인식하지 못하는 운영체계(OS)도 있기 때문이다. 

 

반응형