** 단순히 공부를 위한 참고자료일 뿐입니다. **
** 현재 버전과 상이한 부분은 검색해주시길 바랍니다. **
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)도 있기 때문입니다.
'Programming' 카테고리의 다른 글
[Java의 정석] 제 2장 변수 - 3.형변환 (0) | 2017.06.21 |
---|---|
[Java의 정석] 제 2장 변수 - 2.변수의 타입 (0) | 2017.06.21 |
[Java의 정석] 제 1장 자바를 시작하기 전에 (0) | 2017.06.20 |
[MySQL] MySQL 에서 서브쿼리(SubQuery) 쓰는 방법 (0) | 2017.06.19 |
[Node.js] node.js 에서 db에 접속하는 방법 (My SQL) (0) | 2017.06.11 |
댓글