0:00:01.740,0:00:05.000 우린 Winston의 눈의 크기에[br]대한 멋진 변수를 만들었어요 0:00:05.000,0:00:06.440 이건 아주 유용했어요 0:00:06.440,0:00:08.186 왜냐하면 Winston의[br]눈의 크기를 변경하고 싶을 때 0:00:08.186,0:00:10.310 일일이 변수를[br]쓰지 않아도 되니까요 0:00:10.310,0:00:12.033 기억나죠?[br]전에는 크기를 바꿀 때마다 0:00:12.033,0:00:15.966 같은 숫자를[br]네 번 적어줘야 했어요 0:00:15.966,0:00:17.809 하지만 변수를 이용하면[br]그 숫자들을 대신할 수 있을까요? 0:00:17.809,0:00:19.212 숫자들이[br]같지 않다고 해도요? 0:00:19.212,0:00:21.716 만약 Winston을[br]조금만 움직이고 싶다면 어떨까요? 0:00:21.716,0:00:23.763 x좌표를 각각[br]바꿀 수도 있지만 0:00:23.763,0:00:25.568 그게 항상[br]같지는 않아요 0:00:25.568,0:00:27.933 그러니까 그 숫자 전체를[br]어떤 변수로 대체할 수는 없어요 0:00:27.933,0:00:29.139 하지만! 0:00:29.139,0:00:31.215 변수에 수를 할당하면[br]그 변수를 0:00:31.215,0:00:33.943 마치 그 숫자처럼[br]사용할 수 있어요 0:00:33.943,0:00:37.073 즉 변수를 수학적으로[br]표현할 수 있다는 거에요 0:00:37.073,0:00:39.056 이렇게 해 볼까요?[br]변수를 만들어 봐요 0:00:39.056,0:00:41.039 먼저 Winston의[br]x좌표로요 0:00:41.039,0:00:43.024 var x를[br]선언해요 0:00:43.024,0:00:44.655 간단하죠 0:00:44.655,0:00:48.036 이제 Winston의 얼굴의[br]x 좌표에 변수를 주도록 해요 0:00:48.036,0:00:51.339 얼굴은 x좌표상[br]200에 그려져 있네요 0:00:51.339,0:00:54.423 그러므로 var x는[br]200 이 되겠네요 0:00:55.053,0:00:59.018 이제 이 숫자를 새로운 변수인[br]x로 표현 할 수 있어요 0:00:59.018,0:01:02.480 그리고 x의 값을 변화할때[br]Winston의 얼굴이 변화함을 볼 수 있어요 0:01:02.480,0:01:04.292 하지만 눈과 입은 빼고[br]움직여요 0:01:04.982,0:01:10.268 이걸 고치려면[br]눈과 입의 위치를 0:01:10.268,0:01:13.135 얼굴의 위치에 대해[br]상대적으로 주도록 해보죠 0:01:14.082,0:01:18.052 x좌표는 다른 원들의[br]중심을 나타내요 0:01:18.052,0:01:22.022 그러니까 얼굴은 중심이[br]200인 곳에 그려지겠죠 0:01:22.022,0:01:24.596 이제 그럼 왼쪽 눈을[br]먼저 고려해봐요 0:01:24.596,0:01:26.472 이 원이[br]왼쪽 눈 이네요 0:01:26.472,0:01:29.608 좌표 상 150에 그려진 것을[br]볼 수 있어요 0:01:29.608,0:01:33.075 여기가[br]150이에요 0:01:33.075,0:01:37.552 150은 200보다[br]50만큼 작으니까 0:01:37.552,0:01:42.360 얼굴이 어디에 있든지[br]왼쪽 눈은 50을 뺀 위치에 있어요 0:01:42.360,0:01:47.660 그 어디에 있는 곳이 x 이고[br]얼굴의 -50의 지점에 있어요 0:01:48.020,0:01:50.082 그리고 이제[br]x변수 값을 조절하면 0:01:50.082,0:01:53.254 눈이 얼굴과[br]함께 움직이게 돼요 0:01:53.254,0:01:54.616 그러면 반대편 눈도[br]해볼게요 0:01:54.616,0:01:57.498 오른쪽 눈은 300의 위치에[br]그려져 있어요 0:01:57.498,0:02:01.470 여기서 볼 수 있듯이[br]300은 여기네요 0:02:01.470,0:02:05.754 그리고 300은 200에서[br]100을 더하면 돼요 0:02:05.754,0:02:09.902 그러므로 눈은 얼굴이 어디있든지[br]100을 더해주면 되겠군요 0:02:09.902,0:02:12.535 그러므로[br]x+100이 됩니다 0:02:12.535,0:02:14.181 이제 입만[br]고려해주면 되겠군요 0:02:14.181,0:02:16.857 입은 250인 지점에[br]그려져 있어요 0:02:16.857,0:02:19.396 여기쯤 이에요[br]250인걸 아니까 0:02:19.396,0:02:22.895 그리고 250은[br]200에 50을 더한 거니까 0:02:22.895,0:02:27.804 이건 얼굴이[br]어디에 있든지 0:02:27.804,0:02:30.983 x+50이[br]되네요 0:02:30.983,0:02:33.347 이제 이러한 숫자들을[br]다 지워도 돼요 0:02:33.347,0:02:38.253 x의 값을 변화시킬때마다[br]전체 얼굴이 움직일 거에요 0:02:38.253,0:02:39.579 우와! 0:02:39.579,0:02:42.792 끝내기 전에 변수에 대해[br]조금 더 배워보도록 할게요 0:02:42.792,0:02:45.558 var x를 사용하는[br]변수를 만들면 0:02:45.558,0:02:48.395 원할 때 마다[br]값을 할당할 수 있어요 0:02:48.395,0:02:51.504 x에 198이라는 값을[br]준 후에 0:02:51.504,0:02:54.947 x를 300으로[br]만들 수도 있고 0:02:54.947,0:02:59.240 아니면 150으로[br]만들 수도 있어요 0:02:59.240,0:03:01.216 그리고 이 이후부터는[br]컴퓨터는 x의 값을 0:03:01.216,0:03:03.432 마지막에[br]할당한 값으로 생각해요 0:03:03.432,0:03:05.419 그러니까[br]이 경우에는 150이네요 0:03:05.419,0:03:08.235 하지만 여러분은 var 를 한 변수에[br]한 번만 사용해야 해요 0:03:08.235,0:03:12.510 만일 여기 이 부분에[br]var x가 150을 갖는다고 해버리면 0:03:12.510,0:03:15.825 새로운 변수 x를[br]만들게 된 거에요 0:03:15.825,0:03:18.394 전에 있던 변수 x는[br]아예 없어지게 된 거에요 0:03:18.394,0:03:21.563 위의 이 변수들은[br]모두 다 사라지게 돼요 0:03:21.563,0:03:24.615 그리고 컴퓨터는 오직[br]새로운 변수만을 사용할 거에요 0:03:24.615,0:03:28.127 가끔은 이런 끔찍한 일 없이[br]사용할 수 있을 지 몰라도 0:03:28.127,0:03:29.851 추천해드리고[br]싶지는 않네요 0:03:29.851,0:03:33.208 지금부터 저는 한번만 사용할거에요[br]var x 는 150으로요 0:03:33.208,0:03:37.186 이제 편하게 이 그림을[br]화면 밖으로 움직일 수 있어요 0:03:37.186,0:03:40.254 다음 주제로[br]넘어갈 수 있게 말이죠 0:03:40.254,0:03:44.592 변수에 어떤 값을[br]지정하게 될 때 0:03:44.592,0:03:47.450 그 변수는[br]안전한 곳에 저장돼요 0:03:47.450,0:03:49.881 사실 '='의 왼쪽에[br]위치해야 0:03:49.881,0:03:53.532 진정한 변수 그 자체로[br]여길 수 있어요 0:03:53.532,0:03:55.540 왜냐하면[br]이 값을 컴퓨터가 0:03:55.540,0:03:57.348 '변수'라고[br]생각하게 되니까요 0:03:57.348,0:04:00.037 다른 위치에 있는 값은[br]그냥 '값'이라고 생각하게 될 거에요 0:04:00.037,0:04:02.384 다음과 같이 한다고[br]할지라도 말이죠 0:04:02.384,0:04:06.041 var x는[br]10이고 0:04:06.041,0:04:10.504 x는[br]x에요 0:04:10.504,0:04:11.727 오[br]헷갈리네요 0:04:11.727,0:04:14.572 왼쪽의 x를[br]먼저 봅시다. 0:04:14.572,0:04:17.497 이 x는[br]독립적인 변수에요 0:04:17.497,0:04:20.372 커질 수도 있고[br]변화할 수도 있죠 0:04:20.372,0:04:24.997 하지만 오른쪽 값은[br]그냥 '10'이에요 0:04:24.997,0:04:27.163 슬프게도요[br]하지만 이걸 0:04:27.163,0:04:28.939 정말 유용하게[br]사용할 수 있어요 0:04:28.939,0:04:33.535 x는[br]x+1이라고 해봐요 0:04:33.535,0:04:37.019 왼쪽의 값은[br]안전한 장소에 있는 변수이고 0:04:37.019,0:04:40.412 오른쪽에도[br]같은 변수가 있지만 0:04:40.412,0:04:42.674 알다시피 여기서의 값은[br]그냥 숫자일 뿐이죠 0:04:42.674,0:04:44.206 그냥[br]'10'이에요 0:04:44.206,0:04:47.199 머릿속으로 생각해보면[br]x는 10+1이 되는거에요 0:04:47.199,0:04:51.064 이 말은 x는[br]11이라는거죠 0:04:51.064,0:04:54.319 그러므로 이 전체 수식은[br]x는 11이라는 뜻이에요 0:04:54.319,0:04:57.574 그러므로 이제부터[br]x의 값은 11이 돼요 0:04:57.574,0:05:01.201 다른 변수를 이 방정식에[br]넣으면 어떻게 되는지 볼까요? 0:05:01.201,0:05:06.448 var x를[br]10로 하고 0:05:06.448,0:05:10.473 var y는 20 0:05:10.473,0:05:12.154 x 는 y 0:05:12.154,0:05:13.835 어머나 0:05:13.835,0:05:17.107 그리고 y는[br]7이라고 해요 0:05:17.111,0:05:18.706 좋아요[br]제가 알고 싶은 것은 0:05:18.706,0:05:22.103 x의 값은[br]무엇이 되는 지에요 0:05:22.103,0:05:23.531 확인해봐요 0:05:23.531,0:05:27.176 이 수식에서[br]새로운 변수 x를 만들어서 0:05:27.176,0:05:29.171 그리고 10의 값을[br]지정했어요 0:05:29.171,0:05:31.777 따라서 x의 값은[br]10이 됐어요 0:05:31.777,0:05:33.799 이 수식에서는[br]새로운 변수 y를 만들어서 0:05:33.799,0:05:35.751 20이라는 값을[br]지정했어요 0:05:35.751,0:05:37.043 x에는 아무 것도[br]하지 않았으니까 0:05:37.043,0:05:39.345 x의 값은[br]여전히 10이에요 0:05:39.345,0:05:41.986 여기서는[br]x=y라고 했어요 0:05:41.986,0:05:44.407 조금 헷갈리지만[br]생각해보면 0:05:44.407,0:05:46.210 우리는 이 변수 중에[br]단 하나만 0:05:46.210,0:05:48.453 안전한 장소에[br]있다는 사실을 알고 있어요 0:05:48.453,0:05:50.378 그리고[br]다른 변수는 0:05:50.378,0:05:53.747 마치 숫자처럼[br]다뤄지게 돼요 0:05:53.747,0:05:55.299 이걸 머릿속으로[br]생각해보면 0:05:55.299,0:05:57.791 y를 20이라는 값으로[br]바꿔 생각할 수 있어요 0:05:57.791,0:06:01.765 그럼 이 수식의 정확한 의미는[br]x는 20이 되겠죠 0:06:01.772,0:06:05.029 따라서 x의 값은[br]20이 되겠네요 0:06:05.029,0:06:08.825 이 수식에서는[br]y는 안전한 장소에 있어요 0:06:08.825,0:06:10.421 하지만 별로[br]헷갈리진 않아요 0:06:10.421,0:06:12.698 오른쪽에[br]숫자가 있기 때문이죠 0:06:12.698,0:06:17.424 하지만 궁금한 게 있어요[br]여기 아래 y값을 변화시키면 0:06:17.424,0:06:20.780 그게 위에 있는[br]x의 값을 변화시킬까요? 0:06:20.780,0:06:26.048 답은[br]절대 아니라는 거에요 0:06:26.048,0:06:28.784 기억해야 할 것은[br]이 위 쪽에서는 0:06:28.784,0:06:31.760 y는 단지 숫자로[br]취급된다는 거에요 0:06:31.760,0:06:34.618 컴퓨터는 이게 변수라는 사실을[br]완전히 무시할 것이고 0:06:34.618,0:06:36.270 바뀔 수 있는 값이란 걸[br]잊고요 0:06:36.270,0:06:38.773 그리고 이렇게[br]그냥 얘기할 거에요 0:06:38.773,0:06:42.376 "이 y?[br]이게 진짜 뜻하는 값은 20이지" 0:06:42.376,0:06:44.741 그러므로 이 부분에서는[br]x에 숫자를 할당하는 것이지 0:06:44.741,0:06:46.625 변수를[br]할당하는 게 아니에요 0:06:46.625,0:06:50.249 y의 값인 20을[br]할당하는 거에요 0:06:50.249,0:06:54.034 즉 이 말은 x의 값은[br]여전히 20이라는 거죠 0:06:54.034,0:06:58.369 마지막 수식에서[br]y변수의 값을 바꿔도 말이에요 0:06:59.929,0:07:01.670 와[br]이제 알겠죠? 0:07:01.670,0:07:05.229 이제 여러분은 변수에 대해서[br]완벽한 전문가가 되었어요 0:07:05.229,0:07:07.299 축하해요!