NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    기타 초등학생도 이해하는 프로그래밍 기초

    페이지 정보

    본문

    프로그래밍 이해하기: 컴퓨터 언어로 정보 표현하기

     

    서론

    최근에는 전 세계적으로 기술의 급속한 발전으로 인해 프로그래밍에 대한 관심이 계속해서 증가하고 있습니다. 요즘에는 전공이 아니더라도 프로그래밍의 기본을 알아야 하는 시대가 오고 있습니다. 왜냐하면 최근에 개발되는 거의 모든 기술들은 프로그래밍으로 구현되기 때문입니다. 이러한 상황이 계속되면서, 구현 방법을 알고 있는 사람과 그렇지 않은 사람들 사이의 격차는 계속 벌어지고 있습니다. 요즘에는 회사들도 디자이너로서 프로그래밍을 할 수 있다고 하거나 마케터로서 프로그래밍을 할 수 있다고 말하는 사람들에게 많은 우대를 주고 있다고 합니다. 게다가 삼성과 같은 대기업들은 생활비를 지원하는 프로그래머 양성 프로그램까지 만들었습니다. 이 시대에는 프로그래밍이 어떻게 작동하는지, 그리고 컴퓨터 시스템이 어떻게 구현되는지를 누구나 쉽게 이해할 수 있도록 설명하겠습니다.

    9nh4o4N.jpg

     

     

    프로그래밍의 기본

    우선, 프로그래밍이 무엇인지 알아보겠습니다. 하버드 대학교 교수인 David Marlan에 따르면, 프로그래밍은 그냥 문제 해결 과정이라고 합니다. 그렇다면 문제 해결이란 무엇을 의미할까요? 문제를 해결한다는 것은 입력이 주어졌을 때, 그 입력에 대한 올바른 출력을 찾아내는 과정을 말합니다. 예를 들어, 컴퓨터 전원 버튼을 누를 때 컴퓨터가 켜진다면, 전원 버튼이 입력이 되고 컴퓨터가 켜지는 것이 출력입니다. 프로그래밍은 이런 식으로 입력이 주어졌을 때 원하는 출력을 만들어내는 과정입니다. 입력은 문제, 출력은 답이며, 프로그래밍은 이 문제를 해결할 때 이 답을 만들어내는 것입니다.

     

    컴퓨터 정보 표현

    그렇다면 기계는 어떻게 입력과 출력을 받아들이는 걸까요? 이를 이해하기 위해서는 컴퓨터가 정보를 어떻게 표현하는지를 이해해야 합니다. 컴퓨터는 이진수라는 시스템을 사용하여 정보를 표현한다고 합니다. 이진수라는 단어를 처음 듣는 것이라면 걱정하지 마세요. 지금부터 하나씩 설명하겠습니다. 이진수는 단순히 0과 1의 조합입니다. 이를 이해하기 위해서는 먼저 십진수 체계에 대해 이야기해야 합니다. 우리 대부분은 손으로 숫자를 세기 때문에 1, 2, 3, 4와 같은 수를 세는 방법을 사용합니다. 예를 들어, 몇 명이 댓글을 남겼는지 세고 싶다면, 각 사람마다 손가락을 하나씩 접어서 1, 2, 3, 4라고 세면 됩니다. 이때 우리는 총 열 개의 손가락을 접은 것으로 수를 세게 됩니다. 이런 식으로 우리는 익숙한 모든 숫자를 0부터 9까지의 숫자를 조합하여 표현합니다. 이를 십진 체계라고 합니다.

    Lxk6BvO.jpg

     

     

    하지만 컴퓨터의 경우, 그렇게 많은 숫자를 사용할 수 없다고 합니다. 컴퓨터 안에는 0과 1만 있다고 하는데요. 컴퓨터는 다양한 숫자뿐만 아니라 글자, 사진, 이미지, 소리까지 표현할 수 있다고 합니다. 그렇다면 어떻게 이 모든 것을 0과 1만을 사용해서 만들어낼 수 있을까요? 이를 쉽게 설명하기 위해 예를 들어볼까요? 현재 화면에 보이는 문자들이 어떤 숫자를 의미하는지 생각해보세요. 누구나 이게 숫자 123을 의미한다는 것을 알 수 있습니다. 그런데 이 화면에 있는 글자들이 숫자 123을 의미한다는 것을 왜 알게 되었을까요? 자세히 보면, 이 글자들은 그냥 그림자일 뿐인데, 우리가 보기에는 숫자 123을 떠올립니다. 우리는 오른쪽부터 1의 자리, 가운데는 10의 자리, 가장 왼쪽은 100의 자리라고 생각합니다. 이렇게 당연하게 여기지만, 알파벳으로 표현한 숫자들은 실제로는 수학적으로 계산을 통해 의미를 알아내게 됩니다. 수학적으로 표현하자면, 100 x 1 + 10 x 2 + 1 x 3이 되어 100 + 20 + 3으로 계산하면 123이 됩니다. 여기서 말하고 싶은 것은, 우리는 이 과정을 당연시 여기지만, 정말로 어떤 체계가 작동하고 있다는 것입니다. 이를 우리 선조들이 약속한 것이라고 부릅니다. 이 약속에 따라, 모두가 이런 식으로 숫자를 읽으며 표현합니다. 하지만 앞서 말했듯이, 컴퓨터의 세계에서는 0부터 9까지 10개의 숫자는 존재하지 않습니다. 컴퓨터는 오직 0과 1만을 가지고 있습니다. 그래서 저는 10 대신에 2의 거듭제곱을 사용하여 이를 이해하려고 하겠습니다. 오른쪽 열은 1, 가운데 열은 2, 가장 왼쪽 열은 4로 표현됩니다. 앞서 본 십진 체계와 비교하면 더 쉽게 이해할 수 있을 것입니다. 이런 식으로 숫자를 계속해서 증가시키면, 숫자는 십진 체계와는 다르게 8, 16, 32와 같이 증가하게 됩니다.

    6haXU6P.png

     

     

    그렇다면 이진 체계에서 2는 어떻게 표현될까요? 2는 010으로 표현됩니다. 이것이 이진 표기법으로 숫자를 표현하는 방법입니다. 다시 말해, 컴퓨터가 2라는 숫자를 우리가 아는 방식으로 표현하기 위해서는 컴퓨터가 010이라는 패턴을 저장해야 합니다. 그렇다면 3은 어떻게 표현될까요? 3은 011로 표현됩니다. 왜냐하면 2+1이 3이기 때문입니다. 마찬가지로, 4는 100으로 표현됩니다. 이런 식으로 숫자를 계속해서 증가시키면, 5는 101, 6은 110, 7은 111로 표현됩니다. 그런데 8은 어떻게 표현할까요? 그냥 더 많은 0과 1을 가져오기만 하면 됩니다. 아주 간단한 개념이죠. 여기서 0과 1을 나타내는 하나의 공간을 비트라고 부르고, 이 8개의 비트가 모이면 바이트가 됩니다. 그렇다면, 지금까지 배운 이진 체계와 프로그래밍의 관계는 어떻게 될까요? 우리는 이진 체계를 통해 컴퓨터 안에서 모든 것이 0과 1로 동작한다는 것을 알 수 있습니다. 이를 이해하기 위해서, 지금까지 이진 체계에 대해 설명해왔습니다. 왜냐하면 이것이 정말로 중요한 기본 개념이기 때문입니다. 예를 들어, 핸드폰을 충전하고 싶다고 가정해봅시다. 이를 0과 1로 표현하면, 0일 때는 충전되지 않고, 1일 때는 충전됩니다. 이렇게 프로그램을 구현하는 것은 매우 간단합니다. 하지만 컴퓨터의 경우, 전원을 켜고 끄는 것과 같은 단순한 작업보다 더 복잡한 작업을 수행합니다. 이는 단순히 많은 비트를 사용하여 정보를 표현하는 것일 뿐입니다. 이때, 0과 1을 변환하는 스위치가 있는데, 이것이 트랜지스터입니다. 트랜지스터는 컴퓨터 안에 있는 작은 스위치로, 컴퓨터에는 수백만 개나 혹은 심지어 수십억 개의 트랜지스터가 있으며, 이를 사용하여 정보를 표현하고 값들을 저장합니다. 지금 이 순간에도 이런 일이 일어나고 있는 것입니다.

     

    텍스트, 메일, 문서 작성하기

    지금까지는 숫자를 표시하고 많은 스위치를 제어함으로써 컴퓨터가 명령을 실행할 수 있다는 것을 알아보았습니다. 그렇다면 숫자가 아니라 문자인 알파벳을 어떻게 표현할까요? 이 역시 0과 1을 사용하여 컴퓨터에서 표현됩니다. 이미 우리는 약속을 한 바 있으므로, 문자를 숫자로 표현할 수 있습니다. 예를 들어, a는 1, b는 2, c는 3과 같은 숫자로 표현됩니다. 이런 약속이 있기 때문에, 문자와 알파벳을 숫자로 표현할 수 있습니다. 그럼 컴퓨터는 아마 a와 b를 많은 트랜지스터를 켜고 끄면서 표현할 것입니다. 사실 컴퓨터는 a를 1로 표현하지 않습니다. 수십 년 전에 우리는 대문자 A를 숫자 65로 표현하기로 결정했습니다. 그래서 a라는 글자를 표현하려면, 각 트랜지스터를 켜고 끄면서 숫자 01000001을 입력해야 합니다. 이런 식으로 우리는 미리 정의한 알파벳에 할당된 숫자를 조합하여 글자를 만들어낼 수 있습니다. 알파벳 뿐만 아니라 자음, 모음, 느낌표, 물음표, 심지어 한글의 이모티콘까지 모두 할당된 숫자가 있으며, 이 숫자들이 이진 형식으로 조합되면 화면에 해당하는 문자들이 나타납니다. 글자뿐만 아니라 색상도 0과 1로 만들어집니다. 기본 색상인 rgb (빨강, 초록, 파랑)을 조합하여 모든 색상을 만들고, 각 색상 강도가 화면에 얼마나 나타날지를 나타내기 위해 0부터 100까지의 숫자를 입력합니다. 예를 들어, 72는 빨강, 73은 초록, 33은 파랑이므로 노란색을 얻을 수 있습니다. 마찬가지로, 모든 색상은 컴퓨터 세계에서 숫자로 만들어집니다. 그리고 이런 색상들로 만들어진 수백 장의 사진을 빠르게 재생하면, 비디오가 됩니다. 그렇다면 음악은 어떻게 표현될까요? 음악 역시 숫자로 표현될 수 있습니다. 예를 들어, 음악의 경우에도 각 음계에 해당하는 숫자를 정한 후, 이 음표가 얼마나 지속될지와 음량이 얼마나 크거나 작을지를 나타내는 숫자를 0부터 100까지 표현합니다. 모든 것을 이진 형식으로 컴퓨터에 입력한다면, 컴퓨터는 음악을 재생할 수 있을 것입니다. 결국, 무엇이든지 정보를 표현하는 데 어떤 방법을 사용하더라도, 컴퓨터 안에서는 결국 0과 1로 표현된다는 것입니다. 이것은 프로그래밍의 근본적인 원리 중 하나이며, 프로그래밍이 어떻게 구현되고 컴퓨터가 작동하는지를 이해하는 데 필요한 개념입니다.

    frGzqIN.jpg

     

     

    결론

    프로그래밍은 기술의 발전으로 인해 점점 중요해지고 있는 분야입니다. 기술이 발전함에 따라 프로그래밍의 기본 지식은 모든 사람에게 필요한 요소가 되고 있습니다. 이 블로그에서는 프로그래밍이 어떻게 작동하며, 컴퓨터가 정보를 표현하는 방법에 대해 쉽게 설명하였습니다. 우리는 이진 체계를 통해 숫자, 문자, 색상, 음악 등 모든 정보를 컴퓨터가 이해할 수 있는 형식으로 표현할 수 있습니다. 이러한 기본 개념을 이해하고 응용할 수 있는 능력은 현대 사회에서 매우 중요합니다. 따라서 모든 사람들은 프로그래밍에 대한 기본적인 이해를 갖추는 것이 좋습니다. 프로그래밍은 누구에게나 열려 있는 분야이며, 더 많은 사람들이 이 분야에 흥미를 가지고 배울 수 있기를 바랍니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.