티스토리 뷰

주의 사항!

  • 이 글은 제가 직접 공부하는 중에 작성되고 있습니다.
  • 따라서 제가 이해하는 그대로의 내용이 포함됩니다.
  • 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다.

 

들어가기 전...

자바를 배우고 있는데 사실 제가 공부하고 있는 책의 초반 내용은 C나 C++를 배우면서 이미 알고 있는 내용을 다루고 있어서 '이런 내용을 굳이 정독하면서 여기에 기록을 해야 할까?' 하고 생각했습니다. 그래도 이런 내용을 그냥 건너뛰기에는 제 성격상 맞지 않아서 한 번 정독이나 하고 가자고 생각했는데 보다 보니 뭔가 약간씩의 다른 점이 눈에 보여서 그냥 차근차근 기록해 가기로 했습니다. 이런 것도 기록해두면 나중에 다 쓰일 데가 있겠죠

 

변숫값 저장

변수에 값을 저장할 때는 대입 연산자(=)를 사용합니다. 변수를 선언하고 처음 값을 저장할 경우, 이러한 값을 '초기값'이라고 합니다. 그리고 변수에 초기값을 주는 행위를 '초기화'라고 합니다. 다음의 예를 보겠습니다.

int score;     //변수의 선언
score = 90;    //변수의 초기화

위 예처럼 변수의 선언을 먼저 하고, 이후 초기화를 진행할 수도 있고,

int score = 90;    //변수의 선언 및 초기화

위 예처럼 변수를 선언함과 동시에 초기화를 진행할 수도 있습니다.

 

변수를 선언만 하고 초기화를 진행하지 않을 경우, C언어나 C++ 에는 그 변수에 쓰레기 값이 저장되었습니다. 컴파일러가 의도적으로 쓰레기 값을 넣은 것은 아니고, 변수를 선언하면 그 변수를 저장할 메모리 공간을 찾아서 할당하게 되는데 그 공간에 이전에 쓰였던 다른 데이터가 남아 있기 때문입니다. 

 

예를 들어 새로운 변수 'value'를 선언했다고 하겠습니다. 이 value라는 녀석은 집이 필요합니다. 그래서 여기저기 방을 구하러 다니죠. 그리고 마침내 자신이 사용할 수 있는 적당한 빈집을 찾게 되었습니다. value는 이 집에 입주했습니다. 하지만 방이 깨끗이 청소되어 있지 않아서 이전에 이 집을 썼던 사람이 두고 간 물건, 인테리어, 곰팡이 자국 등등이 남아 있었습니다. 이전 사람이 사용했던 흔적을 말끔히 지우고 value가 살기 좋게 집을 청소하고 가꾸는 일이 '초기화'라고 생각하면 됩니다. 즉, '초기화'를 하지 않으면 value가 사는 집은 value가 살고는 있지만, value의 흔적은 찾을 수 없게 될 겁니다.

 

하지만 C언어나 C++에서는 초기화하지 않은 변수도 사용은 할 수 있었습니다. 물론 의미 있게 사용되지는 못했겠지만요. 하지만 자바에서는 초기화되지 않은 변수는 사용이 불가능합니다. 

int score;    //변수의 선언, 초기화는 하지 않음
System.out.println(score);    //score를 출력하고자 함

위 예는 변수 score를 선언했지만, 초기화는 하지 않았습니다. 그리고 score를 출력하고자 합니다. C언어나 C++의 경우에는 쓰레기 값이 출력되었겠지만, 자바에서는 프로그램의 실행이 불가능하게 됩니다. 

'공부 일지 > JAVA 공부 일지' 카테고리의 다른 글

자바, 데이터 타입 변환  (0) 2021.04.05
자바, 데이터 타입  (0) 2021.04.05
자바, 리터럴  (0) 2021.04.05
자바 IDE, Eclipse 설치하기  (2) 2021.04.02
자바 다운로드 받기  (0) 2021.04.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함