(값)데이터를 저장할 수 있는 메모리 공간
(값)데이터가 변할 수 있는 수
음식에 비유해 주셨는데, 어떠한 음식이냐에 따라 그것을 담는 그릇이 변하듯 사이즈 모양이 바뀐다.
그래서 변수는 여기서 '그릇' 에 해당한다.
어떤 값을 담느냐에 따라 int, byte 등 타입이 바뀌기 때문이다.
가장 기본적인 함수를 선언하면서 확인해 보자
int count = 10;
count = 10;
count = 20;
System.out.println(count);
// 결과는 20을 출력한다.
위처럼 변수에 담을수 있는 값을 변경은 가능하지만, 항상 하나의 값만을 담아야 한다.
또는 실수를 담기 위해서는 앞서 말했던 타입이 바뀌어야 한다.
count = 11.1; // 컴파일 에러가 발생한다.
// 왜냐하면 11.1 은 int 타입이 아니기 때문에
double avg = 11.1; // 이렇게 실수 타입으로 선언해줘야 한다.
String name = "서혁수" // 문자열
int totalCount;
위에서 마지막에 쓰인 정수타입 변수를 한번 보자.
이름이 totalCount 로 중간에 대문자가 있는것을 볼 수 있다.
변수의 이름을 정할 때 자바 언어에서 정해놓은 규칙
식별자는 클래스, 메소드, 변수 등 다양한 대상에 대해 이름이 붙여지는 경우. 그 이름을 뜻한다.
변수는 명명규칙에 의해서 항상 첫번째는 소문자로 시작한다.
그리고 단어가 두개 이상일 경우에는 다음으로 오는 단어의 첫번째는 대문자로 해준다.
명명규칙은 반드시 지켜야 하는것은 아니나 모두가 지키는 기본적인 룰이기 때문에 항상 지켜주는 것이 좋다.
물론 그에 따라주면 시인성도 좋아지기 때문에 실제로도 의미가 있다.
- 하나 이상의 글자로 이루어져야 한다.
- 첫 번째 글자는 문자 이거나 $, _ 이어야 한다.
- 두번째 이후의 글자는 숫자, 문자, $, _ 이어야 한다.
- $ , _ 이외의 특수문자는 사용이 불가능하다.
- 길이 제한이 없다.
- 키워드는 식별자로 사용할 수 없다.
- 상수 값을 표현하는 단어 true, false, null은 식별자로 사용할 수 없다.
변수와 같이 데이터를 담을수 있는 메모리 공간을 말한다.
하지만 한번 저장한 데이터값을 변경 할 수 없다.

위에 내가 친 코드를 보면, 변수는 한번 선언하고 나서 지속해서 값을 변경하는것이 가능한 것을 볼 수 있다.
또 상수는 대문자를 사용하는것이 명명규칙이다.
그리고 상수는 한번 선언된 이후에 값의 변경이 불가능하다.
그러면 이러한 상수를 이용하는 경우는 언제일까?
보통 값이 변하면 위험할 경우에 주로 사용한다.
또는 값만 봤을 때 무엇을 의미하는지 쉽게 파악할 수 있도록 하기 위해서 쓰이기도 한다.
double circleArea;
final double PI = 3.14159;
circleArea = 3 * 3 * PI;
위와 같이 원의 넓이를 구한는 공식을 쓴다고 가정을 하자.
( 반지름 X 반지름 X 3.14159 )
저러한 경우에 만약 circleArea = 반지름 * 반지름 * 3.14159; 이런 식으로 매번 PI 값을 입력해주면 오타의 위험이 있다.
그리고 시인성에서도 좋지 않다.
하지만 PI 값을 상수로 선언해 놓고 PI 변수로 호출해서 쓰면 오타의 위험성이 상당히 줄어든다.
게다가 PI 값을 실수로 변경할 일도 없어지며 시인성 또한 좋아진다.
이번엔 기름값을 구하는 식을 예제로 사용해보자.
final int OIL_PRICE = 1450;
int totalPrice = 50 * OIL_PRICE;
위처럼 기름값을 미리 상수로서 선언해 둔다.
이후 기름값을 계산하는 식을 이용해서 계산해준다.
위의 경우 리터당 1450원 이라고 하면 50 리터를 넣었을때, 얼마인지 계산이 가능하다.
하지만 만약 저기서 기름값의 변경이 있을 경우에 위의 상수의 값만 바꿔주면 또 바로 계산이 가능해진다.
즉, 저런식으로도 상수의 활용이 가능하다.
- 대문자로만 구성된 명사로 정한다.
- 여러 단어로 이름이 구성되면 단어 사이에 '_' 를 써서 구분한다.