[Chapter #0] 프로그래밍을 시작하시는 분들을 위한 글.
자바를 공부하기에 앞서..
언어를 이용하여 대화를 합니다. 그런데, 언어가 다르다면?
만약에 우리가 오지로 여행을 떠난다고 가정을 해보겠습니다. 오지에는 오지에 옛~날부터 살고 있던 원주민들이 있다고 가정해 보겠습니다. 이들은 그들만의 언어를 만들고, 생활을 해 왔습니다. (즉, 자기네 언어 말고는 다른 나라의 언어는 모르는 상황입니다.)
이제, 우리는 그들(원주민)과 대화를 해보겠습니다. 일단 먼저 대화를 하려면 그들과 대화 할 수 있는 수단인, 그들의 언어를 알아야 할 것 같습니다.
여러분들은 이제 그 오지에 정착하면서 그들의 언어를 배우기 시작합니다. 시간이 많이 흐르고, 우리는 그들의 언어를 익혀서 익숙하지는 않겠지만 더듬더듬 말은 해볼 수 있을 것 같습니다.
자, 시간이 얼마나 흘렀을까요? 또는, 제대로 그들의 언어를 모조리 파악 했다고 자신 할 수 있겠습니까? 대화가 과연 원활하게 계속 이어질까요?
통역사를 써볼까?
마침 그 오지의 원주민의 언어를 오랫동안 공부해서 능숙하게 원주민의 말을 사용하는 통역사가 있다고 합니다. 그렇다면 여기서 우리가 떠올릴 수 있는 가장 좋은 방안은 바로 통역사를 쓰는 방법이 제일 간단하고 좋을 것 같네요.
통역사를 쓴다면 우리는 통역사에게 우리가 하고 싶은 말을 우리 말로 하고, 통역사는 우리가 하고자 하는 말을 상대방에게 잘 전달 해 줄 것입니다. 훨씬 빨리, 그리고 정확하게 원주민과 말을 할 수 있겠네요!
컴퓨터와 대화를 해 보자.
Preview
1) 컴퓨터와 대화를 할 수 있도록 우리는 프로그래밍 언어를 사용한다.
2) 컴퓨터는 사람이 사용하는 고급언어 (프로그래밍 언어 )를 이해 할 수 없다.
3) 프로그래밍 언어를 번역기(컴파일러)를 통해 컴퓨터가 이해 할 수 있는 저급언어(기계어)로 만든다.
자, 지금까지 오지에 살고 있었던 원주민에 빗대어 이야기를 해봤습니다. 지금부터는 컴퓨터에 빗대어 이야기 해 보겠습니다. 이제 우리는 컴퓨터와의 대화 를 하기 위해 [프로그래밍 언어 ]를 배워 볼까 합니다. [프로그래밍 언어]란 컴퓨터와 대화 할 수 있는 사람이 할 수 있는 '언어' 라고 생각 합시다.
우리가 배울 수 있는 프로그래밍 언어의 종류는 굉장히 여러가지가 있습니다. 우리가 알아볼 java와 더불어 C, C++, C#, Python 등등 여러가지 언어들이 존재 하고 있죠. 이들은 사람이 할 수 있는 언어이기 때문에 고급언어(High-Level Language) 라고 이야기 합니다.
결론적으로 고급언어는 프로그래머가 컴퓨터에게 이야기를 하기 위한 언어라고 볼 수 있겠죠? 그리고 사람이 사용하는 언어 이기 때문에 사람만 알아 볼 수 있습니다. 이 고급언어로 컴퓨터에게 할 말들을 작성한 것을 소스코드(또는 그냥 코드) 라고 합니다.
그렇다면, 컴퓨터가 알아 들을 수 있는 언어에 대해서 이야기 해보겠습니다. 컴퓨터는 위에 이야기한 고급언어는 알아 들을 수가 없습니다. 대신 컴퓨터는 기계어(또는 저급언어 - Low Level Language) 라고 불리우는 0과 1로 이루어진 2진수로 이루어진 언어만을 사용 합니다.
저희가 컴퓨터의 언어(기계어)를 사용하기란 참 어려운 일입니다. 그래서 컴퓨터와 대화하기위한 고급언어를 컴퓨터가 사용하는 언어인 기계어로 통역하기 위한 과정이 필요 할 것 같네요. 이 때 통역하는 과정을 컴파일(Compile), 통역하는 프로그램을 컴파일러(Compiler) 라고 이야기 합니다.
컴퓨터는 컴파일러에 의해서 기계어로 번역이 된 저급언어만을 이해 할 수 있습니다. 이러한 기계어들이 어떠한 목적을 위하여 만들어 졌을 때(게임, 인터넷, 동영상 플레이어 등등) 우리가 흔히 이야기 하는 프로그램이라고 이야기 합니다.
우리는 지금부터 Java라는 프로그래밍 언어를 이용하여 컴퓨터와 대화를 할까 합니다.
자바 중요하죠 ㅎㅎ 앞으로의 후속 글들 기대하겠습니다
헉...자바라니! 저도 자바기초 포스팅을 하고있는데 너무 부족할거같아서 걱정입니다ㅠㅠ 앞으로 더욱열심히 해야겠습니다 좋은글 기대할게요!
좋은글 기대하겠습니다~!
좋은 글 감사합니다~ 팔로우하고 갈게요 ! 맞팔해주실꺼죠?
우와 프로그래밍 배우고 싶었는데 그림이 눈에 딱 들어오네요! 앞으로 있을 포스팅 기대하며 업보팅&팔로우 하고갑니다