1 00:00:01,740 --> 00:00:05,000 우린 Winston의 눈의 크기에 대한 멋진 변수를 만들었어요 2 00:00:05,000 --> 00:00:06,440 이건 아주 유용했어요 3 00:00:06,440 --> 00:00:08,186 왜냐하면 Winston의 눈의 크기를 변경하고 싶을 때 4 00:00:08,186 --> 00:00:10,310 일일이 변수를 쓰지 않아도 되니까요 5 00:00:10,310 --> 00:00:12,033 기억나죠? 전에는 크기를 바꿀 때마다 6 00:00:12,033 --> 00:00:15,966 같은 숫자를 네 번 적어줘야 했어요 7 00:00:15,966 --> 00:00:17,809 하지만 변수를 이용하면 그 숫자들을 대신할 수 있을까요? 8 00:00:17,809 --> 00:00:19,212 숫자들이 같지 않다고 해도요? 9 00:00:19,212 --> 00:00:21,716 만약 Winston을 조금만 움직이고 싶다면 어떨까요? 10 00:00:21,716 --> 00:00:23,763 x좌표를 각각 바꿀 수도 있지만 11 00:00:23,763 --> 00:00:25,568 그게 항상 같지는 않아요 12 00:00:25,568 --> 00:00:27,933 그러니까 그 숫자 전체를 어떤 변수로 대체할 수는 없어요 13 00:00:27,933 --> 00:00:29,139 하지만! 14 00:00:29,139 --> 00:00:31,215 변수에 수를 할당하면 그 변수를 15 00:00:31,215 --> 00:00:33,943 마치 그 숫자처럼 사용할 수 있어요 16 00:00:33,943 --> 00:00:37,073 즉 변수를 수학적으로 표현할 수 있다는 거에요 17 00:00:37,073 --> 00:00:39,056 이렇게 해 볼까요? 변수를 만들어 봐요 18 00:00:39,056 --> 00:00:41,039 먼저 Winston의 x좌표로요 19 00:00:41,039 --> 00:00:43,024 var x를 선언해요 20 00:00:43,024 --> 00:00:44,655 간단하죠 21 00:00:44,655 --> 00:00:48,036 이제 Winston의 얼굴의 x 좌표에 변수를 주도록 해요 22 00:00:48,036 --> 00:00:51,339 얼굴은 x좌표상 200에 그려져 있네요 23 00:00:51,339 --> 00:00:54,423 그러므로 var x는 200 이 되겠네요 24 00:00:55,053 --> 00:00:59,018 이제 이 숫자를 새로운 변수인 x로 표현 할 수 있어요 25 00:00:59,018 --> 00:01:02,480 그리고 x의 값을 변화할때 Winston의 얼굴이 변화함을 볼 수 있어요 26 00:01:02,480 --> 00:01:04,292 하지만 눈과 입은 빼고 움직여요 27 00:01:04,982 --> 00:01:10,268 이걸 고치려면 눈과 입의 위치를 28 00:01:10,268 --> 00:01:13,135 얼굴의 위치에 대해 상대적으로 주도록 해보죠 29 00:01:14,082 --> 00:01:18,052 x좌표는 다른 원들의 중심을 나타내요 30 00:01:18,052 --> 00:01:22,022 그러니까 얼굴은 중심이 200인 곳에 그려지겠죠 31 00:01:22,022 --> 00:01:24,596 이제 그럼 왼쪽 눈을 먼저 고려해봐요 32 00:01:24,596 --> 00:01:26,472 이 원이 왼쪽 눈 이네요 33 00:01:26,472 --> 00:01:29,608 좌표 상 150에 그려진 것을 볼 수 있어요 34 00:01:29,608 --> 00:01:33,075 여기가 150이에요 35 00:01:33,075 --> 00:01:37,552 150은 200보다 50만큼 작으니까 36 00:01:37,552 --> 00:01:42,360 얼굴이 어디에 있든지 왼쪽 눈은 50을 뺀 위치에 있어요 37 00:01:42,360 --> 00:01:47,660 그 어디에 있는 곳이 x 이고 얼굴의 -50의 지점에 있어요 38 00:01:48,020 --> 00:01:50,082 그리고 이제 x변수 값을 조절하면 39 00:01:50,082 --> 00:01:53,254 눈이 얼굴과 함께 움직이게 돼요 40 00:01:53,254 --> 00:01:54,616 그러면 반대편 눈도 해볼게요 41 00:01:54,616 --> 00:01:57,498 오른쪽 눈은 300의 위치에 그려져 있어요 42 00:01:57,498 --> 00:02:01,470 여기서 볼 수 있듯이 300은 여기네요 43 00:02:01,470 --> 00:02:05,754 그리고 300은 200에서 100을 더하면 돼요 44 00:02:05,754 --> 00:02:09,902 그러므로 눈은 얼굴이 어디있든지 100을 더해주면 되겠군요 45 00:02:09,902 --> 00:02:12,535 그러므로 x+100이 됩니다 46 00:02:12,535 --> 00:02:14,181 이제 입만 고려해주면 되겠군요 47 00:02:14,181 --> 00:02:16,857 입은 250인 지점에 그려져 있어요 48 00:02:16,857 --> 00:02:19,396 여기쯤 이에요 250인걸 아니까 49 00:02:19,396 --> 00:02:22,895 그리고 250은 200에 50을 더한 거니까 50 00:02:22,895 --> 00:02:27,804 이건 얼굴이 어디에 있든지 51 00:02:27,804 --> 00:02:30,983 x+50이 되네요 52 00:02:30,983 --> 00:02:33,347 이제 이러한 숫자들을 다 지워도 돼요 53 00:02:33,347 --> 00:02:38,253 x의 값을 변화시킬때마다 전체 얼굴이 움직일 거에요 54 00:02:38,253 --> 00:02:39,579 우와! 55 00:02:39,579 --> 00:02:42,792 끝내기 전에 변수에 대해 조금 더 배워보도록 할게요 56 00:02:42,792 --> 00:02:45,558 var x를 사용하는 변수를 만들면 57 00:02:45,558 --> 00:02:48,395 원할 때 마다 값을 할당할 수 있어요 58 00:02:48,395 --> 00:02:51,504 x에 198이라는 값을 준 후에 59 00:02:51,504 --> 00:02:54,947 x를 300으로 만들 수도 있고 60 00:02:54,947 --> 00:02:59,240 아니면 150으로 만들 수도 있어요 61 00:02:59,240 --> 00:03:01,216 그리고 이 이후부터는 컴퓨터는 x의 값을 62 00:03:01,216 --> 00:03:03,432 마지막에 할당한 값으로 생각해요 63 00:03:03,432 --> 00:03:05,419 그러니까 이 경우에는 150이네요 64 00:03:05,419 --> 00:03:08,235 하지만 여러분은 var 를 한 변수에 한 번만 사용해야 해요 65 00:03:08,235 --> 00:03:12,510 만일 여기 이 부분에 var x가 150을 갖는다고 해버리면 66 00:03:12,510 --> 00:03:15,825 새로운 변수 x를 만들게 된 거에요 67 00:03:15,825 --> 00:03:18,394 전에 있던 변수 x는 아예 없어지게 된 거에요 68 00:03:18,394 --> 00:03:21,563 위의 이 변수들은 모두 다 사라지게 돼요 69 00:03:21,563 --> 00:03:24,615 그리고 컴퓨터는 오직 새로운 변수만을 사용할 거에요 70 00:03:24,615 --> 00:03:28,127 가끔은 이런 끔찍한 일 없이 사용할 수 있을 지 몰라도 71 00:03:28,127 --> 00:03:29,851 추천해드리고 싶지는 않네요 72 00:03:29,851 --> 00:03:33,208 지금부터 저는 한번만 사용할거에요 var x 는 150으로요 73 00:03:33,208 --> 00:03:37,186 이제 편하게 이 그림을 화면 밖으로 움직일 수 있어요 74 00:03:37,186 --> 00:03:40,254 다음 주제로 넘어갈 수 있게 말이죠 75 00:03:40,254 --> 00:03:44,592 변수에 어떤 값을 지정하게 될 때 76 00:03:44,592 --> 00:03:47,450 그 변수는 안전한 곳에 저장돼요 77 00:03:47,450 --> 00:03:49,881 사실 '='의 왼쪽에 위치해야 78 00:03:49,881 --> 00:03:53,532 진정한 변수 그 자체로 여길 수 있어요 79 00:03:53,532 --> 00:03:55,540 왜냐하면 이 값을 컴퓨터가 80 00:03:55,540 --> 00:03:57,348 '변수'라고 생각하게 되니까요 81 00:03:57,348 --> 00:04:00,037 다른 위치에 있는 값은 그냥 '값'이라고 생각하게 될 거에요 82 00:04:00,037 --> 00:04:02,384 다음과 같이 한다고 할지라도 말이죠 83 00:04:02,384 --> 00:04:06,041 var x는 10이고 84 00:04:06,041 --> 00:04:10,504 x는 x에요 85 00:04:10,504 --> 00:04:11,727 오 헷갈리네요 86 00:04:11,727 --> 00:04:14,572 왼쪽의 x를 먼저 봅시다. 87 00:04:14,572 --> 00:04:17,497 이 x는 독립적인 변수에요 88 00:04:17,497 --> 00:04:20,372 커질 수도 있고 변화할 수도 있죠 89 00:04:20,372 --> 00:04:24,997 하지만 오른쪽 값은 그냥 '10'이에요 90 00:04:24,997 --> 00:04:27,163 슬프게도요 하지만 이걸 91 00:04:27,163 --> 00:04:28,939 정말 유용하게 사용할 수 있어요 92 00:04:28,939 --> 00:04:33,535 x는 x+1이라고 해봐요 93 00:04:33,535 --> 00:04:37,019 왼쪽의 값은 안전한 장소에 있는 변수이고 94 00:04:37,019 --> 00:04:40,412 오른쪽에도 같은 변수가 있지만 95 00:04:40,412 --> 00:04:42,674 알다시피 여기서의 값은 그냥 숫자일 뿐이죠 96 00:04:42,674 --> 00:04:44,206 그냥 '10'이에요 97 00:04:44,206 --> 00:04:47,199 머릿속으로 생각해보면 x는 10+1이 되는거에요 98 00:04:47,199 --> 00:04:51,064 이 말은 x는 11이라는거죠 99 00:04:51,064 --> 00:04:54,319 그러므로 이 전체 수식은 x는 11이라는 뜻이에요 100 00:04:54,319 --> 00:04:57,574 그러므로 이제부터 x의 값은 11이 돼요 101 00:04:57,574 --> 00:05:01,201 다른 변수를 이 방정식에 넣으면 어떻게 되는지 볼까요? 102 00:05:01,201 --> 00:05:06,448 var x를 10로 하고 103 00:05:06,448 --> 00:05:10,473 var y는 20 104 00:05:10,473 --> 00:05:12,154 x 는 y 105 00:05:12,154 --> 00:05:13,835 어머나 106 00:05:13,835 --> 00:05:17,107 그리고 y는 7이라고 해요 107 00:05:17,111 --> 00:05:18,706 좋아요 제가 알고 싶은 것은 108 00:05:18,706 --> 00:05:22,103 x의 값은 무엇이 되는 지에요 109 00:05:22,103 --> 00:05:23,531 확인해봐요 110 00:05:23,531 --> 00:05:27,176 이 수식에서 새로운 변수 x를 만들어서 111 00:05:27,176 --> 00:05:29,171 그리고 10의 값을 지정했어요 112 00:05:29,171 --> 00:05:31,777 따라서 x의 값은 10이 됐어요 113 00:05:31,777 --> 00:05:33,799 이 수식에서는 새로운 변수 y를 만들어서 114 00:05:33,799 --> 00:05:35,751 20이라는 값을 지정했어요 115 00:05:35,751 --> 00:05:37,043 x에는 아무 것도 하지 않았으니까 116 00:05:37,043 --> 00:05:39,345 x의 값은 여전히 10이에요 117 00:05:39,345 --> 00:05:41,986 여기서는 x=y라고 했어요 118 00:05:41,986 --> 00:05:44,407 조금 헷갈리지만 생각해보면 119 00:05:44,407 --> 00:05:46,210 우리는 이 변수 중에 단 하나만 120 00:05:46,210 --> 00:05:48,453 안전한 장소에 있다는 사실을 알고 있어요 121 00:05:48,453 --> 00:05:50,378 그리고 다른 변수는 122 00:05:50,378 --> 00:05:53,747 마치 숫자처럼 다뤄지게 돼요 123 00:05:53,747 --> 00:05:55,299 이걸 머릿속으로 생각해보면 124 00:05:55,299 --> 00:05:57,791 y를 20이라는 값으로 바꿔 생각할 수 있어요 125 00:05:57,791 --> 00:06:01,765 그럼 이 수식의 정확한 의미는 x는 20이 되겠죠 126 00:06:01,772 --> 00:06:05,029 따라서 x의 값은 20이 되겠네요 127 00:06:05,029 --> 00:06:08,825 이 수식에서는 y는 안전한 장소에 있어요 128 00:06:08,825 --> 00:06:10,421 하지만 별로 헷갈리진 않아요 129 00:06:10,421 --> 00:06:12,698 오른쪽에 숫자가 있기 때문이죠 130 00:06:12,698 --> 00:06:17,424 하지만 궁금한 게 있어요 여기 아래 y값을 변화시키면 131 00:06:17,424 --> 00:06:20,780 그게 위에 있는 x의 값을 변화시킬까요? 132 00:06:20,780 --> 00:06:26,048 답은 절대 아니라는 거에요 133 00:06:26,048 --> 00:06:28,784 기억해야 할 것은 이 위 쪽에서는 134 00:06:28,784 --> 00:06:31,760 y는 단지 숫자로 취급된다는 거에요 135 00:06:31,760 --> 00:06:34,618 컴퓨터는 이게 변수라는 사실을 완전히 무시할 것이고 136 00:06:34,618 --> 00:06:36,270 바뀔 수 있는 값이란 걸 잊고요 137 00:06:36,270 --> 00:06:38,773 그리고 이렇게 그냥 얘기할 거에요 138 00:06:38,773 --> 00:06:42,376 "이 y? 이게 진짜 뜻하는 값은 20이지" 139 00:06:42,376 --> 00:06:44,741 그러므로 이 부분에서는 x에 숫자를 할당하는 것이지 140 00:06:44,741 --> 00:06:46,625 변수를 할당하는 게 아니에요 141 00:06:46,625 --> 00:06:50,249 y의 값인 20을 할당하는 거에요 142 00:06:50,249 --> 00:06:54,034 즉 이 말은 x의 값은 여전히 20이라는 거죠 143 00:06:54,034 --> 00:06:58,369 마지막 수식에서 y변수의 값을 바꿔도 말이에요 144 00:06:59,929 --> 00:07:01,670 와 이제 알겠죠? 145 00:07:01,670 --> 00:07:05,229 이제 여러분은 변수에 대해서 완벽한 전문가가 되었어요 146 00:07:05,229 --> 00:07:07,299 축하해요!