w1
Variable
s00mm
2022. 8. 31. 15:27
변수
- 메모리의 특정 공간에 붙이는 이름
금고를 빌린다고 생각해보자.
내가 특정 부분을 대여해서 내 물건을 넣어두고, a 라고 이름표를 붙여둔다.
왜 이름표 붙이냐고?
구분하려고, 그래야 찾을 수 있으니까 (값을 넣고, 바꾸고 할 때)
넣어둔 물건을 꺼내고 싶을 때
은행을 찾아가 관리자에게 금고 “a 주세요”하면
관리자는 이름표를 보고 여러개의 금고 중에서 내 금고를 찾아 줄 수 있다.
- 은행 금고 = 메모리
- 변수 = 빌린 금고에 붙여둔 이름표
- 변수를 선언한다 = 금고를 빌린다
- 변수를 선언만 하고 초기값을 설정하지 않는다. (null) = 금고를 빌리기만하고 내용물을 넣어두지 않는다.
- 변수는 같은 것을 사용할 수 없다. 왜? 그럼 구분할 수 없자나…
코드내에서 변수를 선언하고, 사용하는 것은 변수내의 값을 사용한다는 의미다.
은행가서 “금고 A 주세요” 하면 A를 내어 주겠지만
내가 A를 달라고 한 건 그 안에 내용물을 확인하거나, 넣거나 꺼내기 위해서가 아니겠는가?
따라서 a + 2 라고 코드를 썼다면, a의 값에 2을 더하는 것을 원하는 거다.
a = a + 2
—→ a의 값에 2를 대해서 다시 a에 보관해줘,
a 에는 5가 보관된다.
b = a + 2
—→ a의 값에 2를 더해서 b에 보관해줘,
a의 값은 바뀌지 않았으므로 여전히 3을 가지고 있고,
b 에 5를 보관한다.
변수명 규칙
- 숫자로 시작할 수 없다.
- _이라 $를 제외하고 공백이나 특수문자를 사용할 수 없다.
- _는 Private 변수에서 사용한다.
- 숫자나 알파벳을 사용할 수 있다.
- 이미 약속된 단어(keywords)는 사용할 수 없다.
그 외의 일반적인 약속
- 소문자로 시작한다.
- Class 와 구분하기 위해서, Class 이름을 대문자로 시작하는 것으로 약속했다.
- 변수명내에 띄어쓰기를 넣지 않음
- 대신, 첫단어를 제외한 단어의 첫글자를 대문자로 씀
CamelCase 라고 함, 중간중간 대문자가 솟아 있어서 낙타등 같다고 이리 부른다네요.
eg. smart phone (x)
smartPhone (o)
SmartPhone (x)