언어/기타
2005.11.21 02:41

변수 그까이꺼. 1편 - 변수의 정의.

조회 수 595 추천 수 7 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
변수.
저도 처음엔 그랬지만, 대부분 RM시리즈로 처음 게임제작을 시작하면
하는 질문이 있죠.
"변수가 뭡니까?"
변수.
수학에서의 변수는 "독립변수 x의 값이 주어졌을때, 종속변수 y의
값을 낸다."로 쓰입니다. 프로그래밍도 마찬가지 입니다.
처음의 변수 x에다가 어떠한 값을 대입하면(독립변수 x의 값을
정의하면) 그 과정을 걸치는 수식에 따라 변수 y의 값이
나오는 것이죠(종속변수 y의 값이 나온다).
이러한 개념들을 완벽하게 이해하셔야 합니다. 이게
바로 변수의 원리 이기 때문입니다. 매우 중요하죠.
개인적인 의견으로는, 변수는 그 활용을 배우기 전에 어떤원리로
사용되나, 그리고 어떻게 사용해야 효과적으로 응용할수 있나는 알아야 합니다.
저 같은 경우는, 수차례의 응용을 사용해서 변수의 개념을 이해하고 한층더
활용하는 방법을 택했으나, 이는 독학으로 해서 자신의 이해력으로 지배하는
방법으로, 시간이 상당히 오래 걸립니다.
그러니 개념과 프로그래밍으로서의 의미를 먼저 알아보는게 훨씬 빨리 배울수
있다고 생각하고 이 글을 씁니다.

변수.
처음에 할것은 정의죠.
x라는 변수보고 "너 빗자루. 오케이?"라고 하면 x는 빗자루가 됩니다.
그리고 다른 곳에서 "빗자루 나와!"라고 하면 변수 x가 뛰쳐 나옵니다.
변수 x가 빗자루로 정의되었기 떄문입니다.
이것이 정의 입니다.
다른것을 예로 들어보도록 하죠.
제가 변수 y를 보고 "너는 캐릭터 레벨만 기억해라."라고 세뇌시키면
변수 y는 캐릭터 레벨밖에 기억못합니다. 이때, 다른 사람이 "네 캐릭터
레벨 +1은 몇이냐?" 라고 했을때, 제가 캐릭터 레벨을 기억 못하면
"변수 y~ 이리와봐." 한다음 "너한테 쫄병 한마리를 붙이겠다. 그리고
네가 기억하고 있는것에다가 쫄병의 수를 더해라." 라고 하면 결과는
캐릭터의 레벨+1이 되는 것입니다. 이게 정의와 정의를 이용한 변수의
조작이죠.
마지막 예를 들어보겠습니다. 이게 아마 가장 이해하기 쉬울것입니다.
제가 변수 z를 보고 "니가 아는건 3이다."라고 세뇌시켰습니다. 그리고
w라는 사람에게 "너는 변수 z개의 사과를 먹어라."라고 하면 w는
몇개를 먹겠습니까? 당연히 변수 z의 값인 3이 되는것입니다.
이게 변수의 정의 입니다. 간단하죠?

하지만 마지막 예처럼 하려면 "변수 z개의 사과"라고 하는것 보다는
변수 z를 정의시키지 않고 "사과 3개"라고 말하면 되지 않겠습니까?
그러면 변수의 변(변할 변)자가 웁니다. 실제 뜻은 '변하는 수'인데
하는 역할은 대명사 이니까요. 그렇기 때문에 변수의 조작과
변수의 변화가 나오는 것입니다.

정리를 해봅시다.
x = y
독립변수 x에게 "너 사과" 라고 하고, 종속변수 y에게 "x가 하는짓 따라해"
라고 하면, x가 사과짓을 하면 똑같이 y도 사과짓을 합니다(사과짓이란게
무엇인지는.........도주). 독립변수는, 우리가 흔히 말하는 "변수"로,
우리가 지정해줄수 있는 수 입니다. 즉, 우리가 이 x라는 꼬맹이한테
세뇌시키기가 가능하다, 이말이죠. 그리고 종속변수는, x가 세뇌를 당하면
거기다가 알맞는 수식에 의하여 여러차례 변경 세뇌를 당하다가
나오는 결과입니다. 잘 하면 수술성공이고, 실패하면 망칩니다, 라는건
뻥입니다. 수식을 잘 맞추면 자기가 원하는 값을 구할수
있고, 그걸 잘못하면 이상하게 나오죠.
x+1 = y
독립변수 x에게 "넌 3밖에 몰라"라고 하고, 종속변수 y에게 "x가 말하는것
에다가 무조건 +1을 더해서 말해"라고 세뇌시키면, x가 3이라고 말할때 마다
y는 4라고 말하는 것입니다. 간단하죠?


그럼 다음시간에는 단순한 정의를 지나서 수식을 변경하고 만드는 것에
관해서 예기 하겠습니다. 차례차례 배우는게 좋지 않을까요?
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
784 언어/기타 blitz basic 리닥터즈 2007.01.11 1201
783 언어/기타 소개글 [산타클로스~수해와 수영] Vermond 2007.01.10 1303
782 RPG Maker 범위 공격 : [y >= x^2] 을 이용 1 file Spegel 2007.01.10 2048
781 언어/기타 [C++] WinAPI를 이용한 GUI 프로그래밍 Zeprod 2007.01.08 1204
780 언어/기타 대기 가다없는 2007.01.08 992
779 RPG Maker [RMXP] 펫 소환 강좌 file 연필군 2007.01.07 635
778 언어/기타 도박 시스템 file 연필군 2007.01.07 566
777 언어/기타 잠입 게임 아이디어 아르킨 2007.01.07 1302
776 RPG Maker 데미지의 최소값, 최대값을 설정해보자! ver 1.0 『연금술사』 2007.01.07 1466
775 RPG Maker [RMXP] 벽 소환 이벤트를 만들자 file 연필군 2007.01.06 476
774 RPG Maker 플레이어의 건강을 배려하는 세심한 NPC[용도는...모르겠음-_-] file EverSmileMan 2007.01.02 1293
773 언어/기타 [C++] 객체 지향 프로그래밍 (OOP) -3- Zeprod 2007.01.02 949
772 언어/기타 이번에도 잡담입니다만-_-;; 아란 2007.01.01 1014
771 언어/기타 스크립트를 이용하여 텍스트색상과 갯수를 바꿔보자 ! file 준돌 2006.12.30 575
770 언어/기타 원형 거리 측정 Zeprod 2006.12.30 1206
769 언어/기타 [자료구조] Binary Search Tree Zeprod 2006.12.29 1181
768 언어/기타 [C++] 객체 지향 프로그래밍 (OOP) -2- Zeprod 2006.12.28 901
767 언어/기타 그저 비주얼 베이직에 낚인 것에 대한 잡담 아란 2006.12.27 992
766 RPG Maker 스크립트 실행여부를 알아보거나 스크립트를 봉인시켜보자 1 A. 미스릴 2006.12.26 774
765 언어/기타 스타포지의 추가 설명 다크세이버™ 2006.12.26 441
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 ... 51 Next
/ 51






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)