자바에서 변수는 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름으로 어떻게 보면 직관적이고 간단한 개념이다. 그러나 바로 다음에 배우는 타입과 형변환, 나중에는 지역변수와도 연관되므로 변수에 대한 정확한 이해가 필요하다.
Verable 또는 줄여서 Var라고도 한다.
하나의 데이터를 저장할 수 있는 저장공간 즉, 메모리 공간의 의미한다.
프로그램은 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽을 수 있다.
저장된 값은 변경할 수 있다.
변수의 두 가지 의미
변수를 하나의 데이터를 담을 수 있는 공간이라고 했는데 여기서 데이터는 어떻게 저장될까?
[ bit ]
[ byte ]
변수의 이름을 정할 때는 자바에서 정한 명명 규칙을 따라야 한다.
int class = 10; //에러: class예약어 사용할 수 없음
int 1score = 10; //에러: 숫자로 시작할 수 없음
int score1 = 10; //숫자가 뒤에 있을 수 있음
int sco1re = 10; //숫자가 중간에 들어올 수 있음
int s c o r e = 10; //에러: 공백이 있으면 안됨
int score^^7 = 10; //에러: _, $ 이외의 특수문자를 사용할 수 없음
int score_$1 = 10; //_, $ 특수문자 사용가능
자바에서 정한 명명 규칙이외에 지켜야 할 것들이 있다. 개발자들과의 약속으로 컴파일 에러가 나지 않지만 여러 사람과 진행하는 프로젝트가 많기 때문에 변수이름을 정할 때 약속을 지키는 것이 좋다.
int Score = 20; //에러X 약속X: 첫 글자로 시작해야 함
int scorestudent = 20; //에러X 약속X: 다른 문자가 시작되면 대문자로 시작함
int scoreStudent = 20; //에러X 약속O
int 점수 = 20; //에러X 약속O: 한글을 사용하지 않음
변수를 사용하기 위해서는 변수를 선언하고 초기화를 해야 한다. 또한 할당을 통해 변수에 저장된 값을 출력하거나 연산할 때 사용할 수 있다.
int num1;
long id;
String password;
int num1 = 100; //int형 변수 num1을 선언하고 100으로 초기화 했다.(선언과 초기화를 한 번에 할 수도 있다)
num1 = 200; //int형 변수 num1을 200으로 초기화 했다.
int num1 = 100;
System.out.println(num1);
변수는 하나의 데이터를 저장할 수 있는 저장공간으로 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽을 수 있다.
메모리는 컴퓨터 저장공간을 의미하는데 byte가 기본단위이다. 1byte는 8bit로 -128~127개의 데이터를 담을 수 있다.
변수의 이름을 정할 때는 자바에서 정한 명명규칙을 따라야 하며 어길 시에는 에러가 발생한다. 이외에도 에러가 발생하진 않지만 개발자들끼리 약속한 규칙을 따라 변수의 이름을 정하는 것이 좋다.
변수의 이름까지 정했다면 변수를 사용할 준비를 해야 하는데 변수선언과 초기화로 한다. 데이터타입 변수명;의 형태로 변수를 선언했다면 대입연산자를 통해 값을 저장한다.