시작하면서 쓸데없는 잡소리

변수… 왠지 듣기만 해도 상당히 거부감이 확 느껴지는 단어입니다.

소리가 나올정도로 뼛속 깊은곳 본능적 골수에서부터 거부감을 느끼게 하죠.

   

뭐 사실 가끔은 그런 생각이 들기도 해요. 우리나라 사람들이 수학과 영어를 존내리 싫어하는 이유중에 하나가 그것을 배우기 위해서는 한자로 표현된 단어를 이해해야 하는데, 그게 왱간해서 그다지 받아들이기가 쉽지 않기 때문이죠.

   

오늘 배울 내용인 변수는 그냥 "변화하는 숫자" 정도로 이해하면 됩니다. 한글로 써서 풀어보면 쉬운거죠. 영어로는 variable 이라고 하는데, 보통의 꼬부랑말 나라 사람들의 기준에서 이거 var 로 줄여서 쓰곤 합니다. (타이핑 하기 빡세서 줄인걸까요… 하긴 뭐든 이니셜로 부르는게 취미인 애들이니 걍 취향일수도…)

   

변수를 아주 쉽게 설명하자면 접시에 비교할 수 있겠습니다

접시가 필요한 이유는 아래 그림처럼 설명할 수 있겠네요.

뭐 복잡하게 표현하자면 "이게 뭐야~" 라고 이야기 할 수도 있겠지만, 대충~ 첨 배우는 입장에서 이해 하자면 이렇게 설명하는게 제일 간단하죠.

   

변수라는 것은 이렇게 사용합니다

일단 그림부터 보고 넘어가죠. (역시 그림으로 보는게 제일 쉽죠~)

   

네~ 훌륭해요. 꼭 코딩해 보세요. 뭐든 따라해보는게 중요한 거거든요.

   

네… 변수는 어떤 문자나 숫자를 저장하는 저장소 역할을 합니다. 좀 더 다른 모양새를 볼까요? (복잡하게 들어가자면 모든 데이터라고 할 수 있겠지만, 그런건 천천히 이해해 보도록 하죠)

   

네 이런식으로 숫자를 저장해서 수학적 연산에 사용할 수도 있습니다.

   

변수의 앞대가리와 뒷꼬랑지

변수의 앞대가리에 var 라고 붙여주는 것은 "이거이 변수여~" 라고 말해주는 것입니다.

var bbb 라고 하면 "이건 bbb 라는 변수여~" 라는거고

var ccc 라고 하면 "이건 ccc 라는 변수여~" 라는거고

var ddd 라고 하면 "이건 ddd 라는 변수여~" 라는거고

var eee 라고 하면 "이건 eee 라는 변수여~" 라는거고

var fff 라고 하면 "이건 fff 라는 변수여~" 라는거고...

   

뒷꼬랑지에 붙은 var bbb:int 나 var ccc:String 같은 것은 "이거이 숫자형태의 변수여~" 라거나 "이거이 문자 형태의 변수여~" 라고 말해주는 것입니다.

var bbb:String 라고 하면 "이건 bbb 라는 문자형식 변수여~" 라는거고

var ccc:int 라고 하면 "이건 ccc 라는 숫자형태 변수여~" 라는거고

var ddd:Number 라고 하면 "이건 ddd 라는 숫자형태 변수여~" 라는거고

var eee:XML 라고 하면 "이건 eee 라는 XML 태그 형식 변수여~" 라는거고

var fff:String 라고 하면 "이건 fff 라는 문자형식 변수여~" 라는거고...

   

뭐 그래요… 앞대가리에서 "이건 변수다" 라고 말하고, 뒷꼬랑지에서 "이건 무슨 형식이다" 라고 말하는거죠. 누구에게 말하는 것일까요?

   

프로그래밍 언어를 "언어" 라고 부르는 이유

선언한다, 말한다, 명령어, 언어… 이 말들을 곰곰히 씹어보신적이 있나요? 이것은 액션스크립트 뿐만이 아니라 컴퓨터 프로그래밍을 하는데 있어서 매우 중요한 개념 입니다.

   

프로그래밍 언어는 쉽게 이야기해서 "컴퓨터와의 대화" 를 하는 "언어" 입니다. 프로그래밍을 하는데 있어서 타이핑 하는 모든것은 결국 "부탁" 입니다. 컴퓨터에게 부탁 하는것… 그것이 프로그래밍 입니다.

   

외계어가 아닙니다. 뭔가 피를 쪽~ 토할 정도로 고차원적인 문자들의 나열이 아닌, 쉽게 이야기해서 컴퓨터에게 부탁하려는데 이 컴퓨터 대가리가 먹통 이라서 존내 쉽게 풀어서 써줄려다 보니 프로그래밍 언어라는 것이 생겨나게 된 것입니다.

   

아무리 대단하고, 날다 긴다하는 프로그래머가 뭔가 프로그래밍을 만든다고 해도, 그 프로그래밍을 현실적으로 실현시키는 것은 컴퓨터 입니다. (가끔 몸으로 때우는 개발자도 있긴 하더군요…;;; 난가?) 즉… 컴퓨터가 하는거지, 프로그래머가 하는게 아니죠. 하지만, 컴퓨터는 스스로 생각해서 사용자의 요구를 실현해줄 능력은 없습니다. 그렇기 때문에 "인간" 인 프로그래머가 "이럴땐 이렇게 해라" 라고 컴퓨터에게 행동 방식을 만들어주는 것 이죠.

   

"a 를 요구하면 b 처럼 해라~" 라고 알려줬는데, 사용자가 c 를 요구해 버렸을때 컴퓨터가 "어 씨벌 모르겄어! ㅜ ㄴ ㅜ 모르겄단 말여~!" 하면서 배째라 드러누워 버리는게 바로 버그죠. 프로그래밍 이란게 무척 대단한 일이긴 하지만, 그 원론적인 행동양식을 살펴보면 그저 "대화" 일 뿐입니다. 언어를 언어라고 부르는데는 다 이유가 있는것이죠.

   

예… 쉽게 얘기해서 컴퓨터는 바보 입니다.

   

그래서 컴퓨터에게 아버지를 아버지라 부르고, 형님을 형님이라고 부르게 하기 위해서는 아주 존내게 쉽게 설명할 필요가 있는 것입니다. 액션스크립트가 옛날에 var a = 1; 같은 형식의 변수 선언 방식에서 var a:int = 1; 과 같은 방식으로 바뀐것은 프로그래밍을 하는 사람을 괴롭힐라고 하는게 아니라 컴퓨터가 너무 바보라서 좀 더 쉽게 이해시킬라고 하는 것입니다. (아시겠죠? 그 아저씨들이 나쁜 아저씨들이 아니에요… 에이 씨벌… 존내 맨날 괴롭히기만 하고… ㅜ ㄴ ㅜ 이런말 안하셔도 되요)

   

사람도 그렇지만, 보다 쉽게 이해시키면 보다 많이 부려먹을수 있습니다. 액션스크립트 3.0 이 2.0 보다 좀 더 어려워진것은 그런 이유에서입니다. (다시 말하지만, 그 아저씨들이 나쁜 아저씨들이 아니에요…)

   

변수. 어려운 가요?

한자로 된 말이라서 좀 "에…" 할 수도 있지만, 알아보니 별거 아니었죠?

   

원래 이 바닥이 이래요… 별거 없는데 졸라 어려운 말로 표현할라는게 이 바닥 사람들의 원초적 본능 이거든요. 지난 시간에 잠깐 이야기 한 것이지만, 모든 것을 사실로 받아들이기에, 모든 존재를 규정짓고 싶어하는 심리가 "설명" 으로 표현 될 수 있는것조차 "이름" 붙여 표현하려는게 개발자들 처럼 "사실을 규정하려는 심리" 를 가진 사람들이기 때문에, 아주 많은 용어들이 존재하는 것이 이 바닥 입니다. 역사도 짧은게 용어는 왱간한 고전문학 저리가라 할 만큼 졸래 많죠...

   

RIA, AJAX 알고보면 별것도 없는것들까지 왠갖거 다 이름을 붙여싸니 초보들이 접근하다 토할라고 하는거죠. 알고보면 별거 없으니 너무 심리적 부담감을 가지지 말고 접근하세요. ^^ "걍 얘네들 성격이 이렇구먼…" 하면서 접근해야지 그 무수한 용어와 단어들의 홍수에 휩쓸려서 멀리를 안일으키게 됩니다.

   

여자 꼬실때도 상대방을 "천사여!!!" 하면서 접근하면 죽도 밥도 안되죠. 마음 편하게 생각해야지 뭐라도 하나 건집니다.

   

… 그래서 제가 여자친구가 없나봐요. 아이코… 난 왜 이리 다정다감한지...

   

오늘의 놀이과제

var a:int = "가나다라마바사" 라고 코딩해 보세요.

  1. Flask 2008/08/29 19:07 답글수정삭제

    ㅎㅎ 참 글을 재미있게 쓰세요..ㅋ

  2. 로운 2009/02/25 11:13 답글수정삭제

    자바개발자입니다. MP3 플레이어의 UCI를 만들려고 플래시를 보다가 Flex까지 관심이 가게되었습니다. 강의 잘 보고 있습니다. 쉽고, 자세하고, 재미있게 잘 쓰시네요. 자주 놀러올게요.

  3. 김지 2009/05/10 15:39 답글수정삭제

    과제 하다가 액션스크립트 배워볼까 하다 글 보게 됐는데 이해도 너무 잘되고 재미있네요^^
    감사합니다~

  4. 최은진 2010/06/28 11:10 답글수정삭제

    잘보고 있습니다 이해가 잘되네여 ^^
    학원 다니고 있는데 저는 기초가 없어서
    학원에서 가르키는 진도를 못따라 가고 있는데
    정말 자세히 기초를 알려주셔서
    금방 따라갈거 같아요 감사해요

트랙백 주소 :: http://docs.ssen.name/43/trackback/
옵션
댓글 달기
이전 1 ... 33 34 35 36 37 38 39 40 41 ... 76 다음