이번 포스팅에서는 자바(Java)에서 변수(Variable)에 대하여 공부를 해보고자 한다.
변수(Variable)란
변수는 말 그대로 '변하는 수'를 뜻한다.
예를 들어, 게임 캐릭터는 모두 레벨이 있는데, 처음에는 1이었던 레벨이 사냥이나 퀘스트를 통해 경험치를 얻게 되면 2나 3으로 레벨업이 된다.
또한 사람의 나이는 시간이 지나면 변하고, 은행에 있는 잔액도 입금과 출금이 발생하면 변하게 된다.
프로그래밍에서 이렇게 변하는 값을 변수라고 한다.
변수 선언 및 값 대입
변수는 값을 넣을 수 있는 빈 그릇과 같다.
(값을 저장하는 공간이라고 할 수 있다.)
변수를 사용하기 위해서는 어떤 형태의 자료를 저장할 것인지 정해야 한다.
ex) 사람의 나이 >> 정수 형태
사람의 이름 >> 문자 형태
이 형태를 변수의 '자료형'이라고 한다.
또한 변수의 이름도 정해주어야 한다.
이렇게 변수의 자료형을 선택하고 이름을 정하는 것을 '변수를 선언한다.'라고 한다.
예시
게임 레벨을 변수로 선언하고, 변수의 값 10을 넣는다.
int level; // 정수형 변수 level을 선언
level = 10; // 값 10을 level 변수에 대입
int는 정수를 나타내는 자료형이고, level은 게임 레벨을 의미하는 변수 이름이다.
= 기호는 프로그램에서 '오른쪽 값을 왼쪽에 대입한다.' 는 의미로 사용한다.
위 코드의 두 문장을 해석하면
'level이라는 이름의 변수를 자료형으로 선언한다. 선언한 level 변수에 값 10을 넣는다(대입한다).' 이다.
즉, 변수를 선언하면 변수에 값을 넣을 수도 있고, 변수 이름을 사용하여 변수에 들어있는 값을 가져올 수도 있다.
변수 초기화
아래 코드는 위 코드와는 변수를 선언한 방식이 다르다.
변수를 선언함과 동시에 값 10을 넣어주었다.
int level = 10
이처럼 변수를 선언할 때 변수값을 바로 대입할 수도 있다.
변수에 처음 값을 대입하는 것을 '초기화'라고 한다.
변수의 초기화를 하는 기준은 변수를 사용할 때마다 다르며, 반드시 변수 선언과 동시에 초기화를 해야 하는 것은 아니다.
위 코드처럼 변수 선언과 동시에 초기화를 할 수도 있고, 변수를 선언한 후 대입할 값이 정해지는 시점에 초기화를 할 수도 있다.
변수 이름 정하기
자바(Java)에서 변수 이름은 용도에 맞게 지어야 하는데, 다음과 같은 제약 사항이 있다.
제약 사항 | 예시 |
변수 이름은 영문자(대문자, 소문자)나 숫자를 사용할 수 있고, 특수 문자 중에는 $, _만 사용할 수 있다. | g_level(o), count100(o), _master(o), $won(o) |
변수 이름은 숫자로 시작할 수 없다. | 27day(x), 1abc(x) |
자바(Java)에서 이미 사용 중이 예약어는 사용할 수 없다. | while, int, break, ... |
예약어(reserved word)란 프로그래밍 언어에서 특별한 의미로 미리 약속되어 있는 단어를 말한다.
카멜 표기법(camel notation)
함수를 선언할 때 사용하는 표기법이다.
변수 이름은 대부분 소문자로 시작하며 여러 단어로 변수 이름을 만들 경우 중간에 다른 뜻의 단어가 등장할 때 첫 글자를 대문자로 사용하는 것을 말한다.
(중간에 튀어나온 대문자가 낙타의 등과 같은 모양이다.)
ex) backgroundColor, typeName, iPhone.
'Back-End > Java' 카테고리의 다른 글
[Java] 상수와 리터럴 (2) | 2023.01.27 |
---|---|
[Java] 논리 자료형 (0) | 2023.01.26 |
[Java] 실수 자료형 (0) | 2023.01.26 |
[Java] 문자 자료형 (0) | 2023.01.26 |
[Java] 정수 자료형 (0) | 2023.01.25 |