가치 있는 삶

자바 프로그래밍 변수와 변수의 선언 알아보기


변수는  쉽게 말해 '변할 수 있는 수' 라고 정의할 수 있는데, 어떤 값이 다른 값을 변경될 수 있다는 의미이기도 하다. 프로그래밍 언어에서 변수는 하나의 값을 저장할 수 있는 메모리 공간을 얘기한다. 하나의 값이 저장되고 나서 나중에 프로그램을 실행할 때 또 다른 값으로 바꿀 수 있다는 뜻이기도 하다. 프로그램 실행중에 필요한 데이타를 잠깐 저장해 놓을 수 있는 메모리 공간이면서, 저장된 데이타를 수정하거나 연산 작업 등을 할 수 있다. 변수에는 여러가지 값을 저장할 수 없고, 하나의 값만 저장할 수 있다. 예를들어 정수 타입 변수에는 정수값만 저장할 수 있고, 실수 타입 변수에는 실수값만 저장할 수 있다.


자바 프로그래밍 변수 선언


변수는 개발자의 코드에 의해서 선언되는데, 변수를 사용하기 위해서는 먼저 변수를 선언해야 한다. 변수 선언은 어떤 타입의 데이타를 저장 할 것인지 그리고 변수 이름이 무엇인지를 결정한다. 변수 선언을 할 때는 {타입[ ] 변수이름;}의 형태로 해야 하는데, 여기서 타입은 변수에 어떤 값을 지정할 것이냐를 선언하는 것이다. 타입은 변수에 저장되는 값의 종류와 범위를 결정짓는 요소이기 때문에 어떤 값을 변수에 저장할지 충분히 생각한 다음 결정해야 한다. 아래와 같이 변수에 정수를 저장하고 싶으면 정수 타입(int)을 사용하고, 실수를 저장하고 싶다면 실수 타입(double)을 사용할 수 있다.



또, 같은 타입의 변수는 콤마(,)를 이용해서 [ int  a, v,  n ]와 같이 선언할 수도 있다. 프로그램은 변수 이름을 통해서 메모리 주석에 접근하는데 변수 이름은 메모리 주소에 붙여진 이름을 뜻한다. 변수 이름은 자바 언어에서 정한 규칙을 따라야 하는데, 변수 명명 규칙은 다음과 같다.





1) 첫 번째 글자는 문자이거나 '$', '_', 이어야 하고 숫자로 시작할 수 없다. [예 (가능:price. _company, 불가능:1v, @sports, #value) 2)영어 대소문자가 구분된다. (firstname과 firstName는 다른 변수이다) 3) 첫 문자는 영어 소문자로 시작하되 다른 단어가 붙을 경우 첫 문자를 대문자로 한다(예:maxSpeed, firstDream. 관례). 4)문자 수(길이)의 제한은 없다. 5)자바 예약어는 사용할 수 없다. 자바는 아래 표에 언급되는 예약어를 가지고 있기 때문에 이 예약어들로 변수 이름을 지정하면 컴파일 에러가 발생한다. 자바 예약어는 다음 표와 같다.


 분류

 예약어

 기본 데이터 타입

 boolean, byte, char, short, int ,long, float,double

 접근 지정자

 private, protected, public  

 클래스와 관련된 것

 class, abstract, interface, extends, implements, enum 

 객체와 관련된 것

 new, instanceof, this, super, null 

 매소드와 관련된 것

 void, retum 

 제어문과 관련된 것

 if, else, switch, case, default, for, do, while, break, comtinue 

 논리값

 true, false

 예외 처리와 관련된 것

 try, catch, finally, throw, throws

 기타

 transient, volatile, package, import, synchronized, native, final, static, strictfp, assert 


변수 이름을 지정할 때는 이 변수가 어떤 값을 저장하는지 쉽게 알 수 있도록 의미 있는 변수 이름을 지어주는 것이 좋다.  또, 변수 이름의 길이는 프로그램 실행과는 관련이 없기 때문에 충분히 길어도 상관없고, 명명 규칙과 관련된 자바 개발자들 간에 지켜져 오는 관례가 있다. 이 관례가 필수적인 것은 아니지만 개발자 간의 코드 작성 패턴을 공유하고자 하는 약속이기 때문에 가급적 지켜주는 것이 좋다. 변수 이름에 가급적 한글 사용을 지향하는 것이 좋다. 한글을 모르는 사람들도 소스 코드를 볼 수 있기 때문이다.