-
<프로그래밍 공부 시작하기-6> 자바 공부 시작하기 <기억창고, 변수>프로그래밍 2020. 3. 30. 10:25
우리는 이제 프로그램을 개발할 수 있는 사람이 되었다.
print("abc") 라는 자바 언어를 통해 컴퓨터에게 말을 입력할 수 있게 되었고, 우리가 신경 쓸 필요 없는 수많은 과정을 거쳐 컴퓨터는 모니터에 abc 라는 문자를 보여줄 것이다.
굉장히 쉽다고 느끼는 사람도 있을 것 같고 (이 사람은 아주 긍정적이라 좋습니다.)
내가 하고 싶은 건 이것보다 훨씬 복잡한 건데 언제 할 수 있는 거지 싶은 사람도 있을 것 같다.(이 사람은 진취적이라 좋네요.)
어떤 느낌을 가져도 좋은 것 같다. (이해가 안된다!!! 라는 생각이 들면 댓글로 남겨주시면 감사하겠습니다.)
다음은 알아볼 내용은 거창하게 말하면 '변수' 라는 것이다.
일단 이름부터가 마음에 안 든다. 변수... 일단 접어두자.
조금 다른 관점으로 접근해보자. 철수라는 아이가 있다고 해보자.
철수가 영희에게 말을 합니다.
"영희야, 나 이번에 수능을 봤는데 언어영역은 100점이고, 수리영역은 100점인데, 외국어 영역을 98점 맞았어. 나 인생 망한거 같아 어떻게 해?" 듣고 있던 영희가 손바닥으로 철수의 머리를 내려쳤다.
아주 감동적인 스토리이다. 정의구현 정도로 보면 될 것 같다.
자 여기서 궁금한 점을 하나 만들어보자.
철수의 언어,수리,외국어 총점은 얼마인가?
아마도 거의 대부분의 사람이 윗 줄로 눈동자가 이동했을 것이다. 언어, 수리, 외국어가 몇점인지 확인했을 것이다. 눈썰미가 좋은 사람은 아까 본 점수를 기억해서 그 점수가 100+100+98 = 298 점이라는 것을 알았을 것이다.
여기서 좀 더 들어가보면 신기한 점이 있다. 내가 철수의 언어, 수리, 외국어 총점이라고 물어봤을 때, 당신은 위의 글을 다시 봤거나, 기억 속에 있는 점수를 기억해내서 그걸 더하기를 했다.
방금 했던 질문을 컴퓨터에게 말한다고 생각해보자.
"컴퓨터야, 철수의 언어영역은 100점, 수리영역은 100점, 외국어영역은 98점이야. 그럼 총점은 몇점이야?"
컴퓨터가 언어, 수리, 외국어의 점수를 더하려고 할 때 컴퓨터는 당신이 아까 했던 것처럼 앞의 글을 다시 읽어볼까? 점수를 기억해놓았다가 그걸 기억해서 더할까?
우리의 뇌는 자연스럽게 철수의 언수외 성적을 기억하지만, 컴퓨터에겐 기억하라고 말을 해줘야 한다!
좀 더 컴퓨터에게 말하는 방식으로 말해줘보자.
철수의 언어영역 100점 기억해. 철수의 수리영역 100점 기억해. 철수의 외국어영역 98점 기억해. 철수의 언어영역, 수리영역, 외국어영역의 총점은 얼마일까?
어느 정도 느낌이 올꺼라 생각한다. '기억해' 라는 기억을 하는 저장창고를 우리는 '변수' 라고 부를 것이다.
그리고 그 저장창고는 종류가 있다. 숫자를 담는 저장창고가 있고, 문자를 담는 저장창고가 있다. 몇가지 더 있지만 지금은 몰라도 된다.
일단 100 이라는 숫자를 저장하니까 숫자를 저장하는 창고에 점수를 기억해놓으면 된다.
숫자를 저장하는 창고의 이름은 '정수' 라는 영어단어인 integer 를 줄여서 int 라고 쓴다.
이제는 정말 컴퓨터에게 말하는 내용을 자바라는 언어로 표현해보겠다.
int korean = 100; int math = 100; int english = 98; int sum = korean + math + english;
한줄씩 함께 보면서 이해해보자. int 라는 단어를 통해 저장창고의 종류를 써준다. 그리고 창고의 이름을 쓴다.
다음은 '=' 이라는 기호를 통해 창고 안에 기억할 숫자를 넣어준다. 그리고 다음부터는 그 창고의 이름을 써주면 컴퓨터가 알아서 그 창고 안의 숫자를 이용해서 계산을 한다.
이렇게 여러분은 변수라는 것이 무엇인지 알게 되었다.
여기까지만 알면 된다. 그 이후로 다른 것들을 배워가면서 변수라는 것에 대해 더 자연스럽게 알게될 것이다.
반응형'프로그래밍' 카테고리의 다른 글
<프로그래밍 공부 시작하기-8>자바 공부 시작하기 <만약에, if> (0) 2020.04.01 <프로그래밍 공부 시작하기-7> 자바 공부 시작하기 <자바 실행해보기> (0) 2020.03.31 <프로그래밍 공부 시작하기-5> 자바 공부 시작하기 <가장 간단한 프로그램, hello world> (0) 2020.03.27 <프로그래밍 공부 시작하기-4> 자바 공부 시작하기 <자바 기본서를 읽기 전에> (0) 2020.03.26 <프로그래밍 공부 시작하기-3> 자바 공부 시작하기 <컴파일, compile> (0) 2020.03.25