본문 바로가기

노력을 이기는 재능은 없고
노력을 외면하는 결과도 없다.
- 이창호 9단

S T U D Y/Java

[JAVA] 변수와 상수

  Junesker   2020. 4. 25.
반응형

어떤 프로그래밍 언어라 할지라도 변수와 상수의 개념은 동일 하거나 비슷 할 것이다. 변수와 상수의 대한 개념은 프로그래밍 언어를 배우기 위해 무조건 기본으로 또 기초로 알고 있어야하는 개념일 것이다.

 

 

 

 

 

변수란?


"변수(Variable)란? 단, 하나의 값을 저장할 수 있는 메모리 공간을 의미한다."

 

프로그래밍에서는 변수(variable)란, 값을 저장할 수 있는 메모리상의 공간을 의미한다. 이 공간에 저장된 값은 변경될 수 있기 때문에 '변수'라는 수학용어와 비슷한 면이 있어서 붙여진 이름이다. 하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사라진다. 프로그래밍의 첫 시작이 변수 이므로 간단하지만 정확한 개념과 사용법을 알고 가야한다.

 

 

 

 

 

변수의 선언과 초기화


변수(variable)의 선언

 

int count;

(변수타입 변수이름)

 

int라는 변수타입을 가지고 있고 count라는 변수이름을 가진 변수를 선언했다. 변수타입은 변수에 저장될 값이 어떤 타입인지를 지정하는 것이다. 저장하고자 하는 값의 종류에 맞게 변수의 타입을 선택해 적어주면 된다. 변수의 타입에는 정수형, 실수형, 문자형 등이 있다.

변수이름은 변수에 붙일 이름이다. 변수는 값을 저장할 수 있는 메모리 공간이므로 변수의 이름은 메모리 공간의 이름을 붙여주는 거와 같은 의미이다. 변수이름을 통해서 저장공간에 값을 저장하고 값을 읽어올 수 있다. 변수는 다른 변수와 구분을 할 수 있어야 하기때문에 변수의 이름은 달라야한다. 

 

 

 

 

 

변수(variable)의 초기화

 

int count = 10;

(변수타입 변수이름 = 값)

 

int라는 변수타입을 가지고 있고 count라는 변수이름을 가진 변수를 선언하고 10이라는 값으로 초기화했다. 변수를 선언한 이후부터는 사용 가능하나 반드시 변수를 초기화(initialization)해야 한다. 변수에 값을 저장하기 위해서는 '='과 같은 대입 연산자를 이용해 값을 저장한다. 프로그래밍에서 '='과 같은 대입연산자의 뜻은 오른쪽에 있는 값을 오른쪽에 있는 변수에 저장하겠다는 뜻이다. 

 

 

 

 

 

[ 변수 예제1 ]

VariableExample01

변수 a,b,math,eng를 선언하고 math는 78로 eng는 88로 초기화했다. 그리고 각 변수를 println()으로 출력했다. 변수 math, eng는 변수를 선언하고 초기화를 했기 때문에 출력이 가능하다. 하지만, 변수 a,b는 초기화를 하지 않고 선언만 했기 때문에 변수를 사용할 준비가 되지 않아 출력을 할 수가 없다. "the local variable a many not have been initialized(많은 지역 변수가 초기화되지 않았습니다)" 라고 에러가 표시된다. 변수를 사용할때는 꼭 선언 후 초기화를 해야한다.

 

 

 

 

 

[ 변수 예제2 ]

VariableExample01
VariableExample01 결과 출력

변수 math,eng를 선언하고 math는 78로 eng는 88로 초기화했다. 변수를 선언하고 초기화 했기 때문에 변수 math, eng를 사용할 수 있고 변수에 저장된 값을 출력할 수 있다. 출력 결과처럼 math는 78, eng는 88이 정상적으로 출력된다. 그런다음에 변수 math에 들어있는 값에 12를 더한 값을 변수 math에 저장한다. 다시 변수 math를 초기화했다. 그리고 변수 eng도 마찬가지로 변수 eng에 들어있는 값에 10을 더한 값을 변수 eng에 저장한다. 변수 math와 같이 변수 eng를 초기화했다. 변수 math, eng 출력 결과는 12와 10을 더한 90, 98이 된다.

 

 

 

 

 

변수의 명명규칙


 

변수의 이름처럼 프로그래밍에서 사용하는 모든 이름을 '식별자'라고 하며, 식별자는 같은 영역 내에서 서로 구분될 수 있어야한다. 

 

 

변수를 만들 때 지켜야 할 규칙

 

1. 대소문자가 구분되며 길이에 제한이 없다.

 - True와 true는 서로 다른 것으로 간주된다.

 

2. 예약어를 사용해서는 안 된다.

 - true는 예약어라서 사용할 수 없지만, True는 사용 가능하다.

 

3. 숫자로 시작해서는 안된다.

 - number10은 허용하지만, 10number는 불가능하다.

 

4. 특수문자는 '_'와 '$'만 허용한다.

 - $shape는 허용되지만, S#hape는 허용되지 않는다.

 

# 예약어

abstract, default, if, package, this, assert, boolean, break, byte, case, catch, char, class, const, continue, do, double, else, enum, extends, false, final, finally, float, for, goto, implements, import, instanceof, int, interface, long, native, new, null, private, protected, public, return, short, static, strictfp, super, switch, synchronized, throw, throws, transient, true, try, viod, volatile, while

 

 

변수를 만들 때 권장사항

 

1. 클래스 이름의 첫 글자는 항상 대문자로 한다.

 - 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.

 

2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.

 - lastIndexOf, StringBuffer 등

 

3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.

 - PI, MAX_NUMBER 등

 

권장사항은 꼭 지켜야만 하는건 아니다, 하지만 코드를 보다 이해하기 쉽게 하기 위한 개발자들 사이의 암묵적인 약속이다. 그래서 가능하면 지키려고 노력하는게 좋을것 같다. 

반응형

'S T U D Y > Java' 카테고리의 다른 글

[JAVA] 자바에러와 해결방법  (0) 2020.04.22
[JAVA] 자바(JAVA)란?  (0) 2020.04.17

댓글