WEBVTT 00:00:00.000 --> 00:00:04.238 제 친구들을 출력하는 배열로 돌아왔어요 00:00:04.238 --> 00:00:07.007 그런데 저를 굉장히 거슬리게 하는 것이 있네요 00:00:07.007 --> 00:00:11.295 새로운 친구를 배열에 추가할 때마다 새로운 text 명령어를 추가해야 해요 00:00:11.295 --> 00:00:13.378 Winston을 추가해 볼게요 00:00:13.378 --> 00:00:16.011 자동으로 나타나지는 않아요 00:00:16.011 --> 00:00:22.440 그를 나타나게 하고싶으면 'text(myFriends[3]' 을 쓰고 y좌표를 바꿔야 하죠 NOTE Paragraph 00:00:22.440 --> 00:00:24.972 이렇게 하면 일이 너무 많아요 00:00:24.972 --> 00:00:31.587 배열에 누군가를 추가할 때마다 text 명령어도 자동으로 되었으면 좋겠어요 00:00:31.587 --> 00:00:34.736 반복문에 대해 배웠던 것 기억나세요? 00:00:34.736 --> 00:00:38.378 반복문은 같은 코드를 반복해서 사용할 때 쓰면 좋은 방법이에요 00:00:38.378 --> 00:00:43.273 마치 나무나 풍선들을 한 줄로 세운다거나 할 때 말이죠 00:00:43.273 --> 00:00:48.764 반복문은 배열의 각 요소들에 대해 코드를 실행할 때 쓰면 좋아요 00:00:48.764 --> 00:00:54.182 사실 여러분들이 배열을 쓸 때마다 반복문을 함께 사용하게 될거에요 00:00:54.182 --> 00:00:57.949 둘은 굉장히 잘 어울리거든요 00:00:57.949 --> 00:01:03.736 제 친구들의 이름을 출력할 때 매번 명령어를 쓰지 않고 반복문을 사용해볼게요 00:01:03.736 --> 00:01:07.795 반복문을 사용할 때의 세 가지 질문들로 시작할게요 00:01:07.795 --> 00:01:09.926 첫번째, 뭘 반복해야하나요? 00:01:09.926 --> 00:01:13.087 여기 뭐가 반복되나요? text 명령어죠. 00:01:13.087 --> 00:01:15.178 매번 무엇을 바꿔야 하나요? 00:01:15.178 --> 00:01:17.658 여기 뭐가 다른지 한번 살펴볼게요 00:01:17.658 --> 00:01:26.138 y좌표와 현재 인덱스군요 그러니까 친구 번호와 y좌표 00:01:26.138 --> 00:01:33.570 몇 번 반복해야하죠? 친구가 없을 때까지 반복해야해요 00:01:33.570 --> 00:01:37.440 이제 필요한 것을 알았으니 반복문을 만들 수 있어요 00:01:37.440 --> 00:01:42.033 반복문에서 우리가 어디까지 와 있는지를 알려주는 카운터 변수로 시작할게요 00:01:42.033 --> 00:01:44.546 그러니까 'var friendNum = 0;' 으로요 00:01:44.546 --> 00:01:50.408 0부터 시작할거에요 배열의 첫번째는 0인걸 기억하세요 00:01:50.408 --> 00:01:52.596 다음에 여기 while문을 쓸게요 00:01:52.596 --> 00:01:57.664 'while(friendNum < myfriends.length)' 00:01:57.664 --> 00:02:04.462 현재 카운터 변수와 배열 요소의 총 개수를 비교할 거에요 00:02:04.462 --> 00:02:07.588 반복문 안에는 text명령어를 쓸거에요 00:02:07.588 --> 00:02:15.200 'text(myFriends['라고 쓰고, 여기에 숫자 대신 'friendNum'을 쓰세요 왜냐하면 그것이 현재의 순서를 말해주는 것이니까요 00:02:15.200 --> 00:02:17.961 지금은 좌표를 고정시켜 둘게요 00:02:17.961 --> 00:02:25.380 지금은 friendNum을 바꾸지 않아서 무한반복 에러가 발생해요 00:02:25.380 --> 00:02:28.020 매번 friendNum을 증가시키는 걸 잊지마세요 00:02:28.020 --> 00:02:32.720 아니면 조건이 항상 참이기 때문에 반복문이 무한히 수행될 거에요 00:02:32.720 --> 00:02:38.651 여기 뭔가 생겼네요 예전 코드는 주석으로 처리할게요 00:02:38.651 --> 00:02:43.137 모든 이름들이 나타났지만 다 겹쳐져 있어요 00:02:43.137 --> 00:02:45.706 y좌표를 바꿔보도록 하죠 00:02:45.706 --> 00:02:50.111 'friendNum * 30'으로 할게요 00:02:50.111 --> 00:02:55.129 낫긴한데 Sophia가 화면 밖으로 벗어났군요 얘가 알면 별로 좋아하지 않을 것 같아요 00:02:55.129 --> 00:02:59.628 여기 30을 더할게요 이제 30만큼 내려왔네요 00:02:59.628 --> 00:03:04.294 아름답네요! 반복문을 사용해 배열을 출력하게 되었어요 00:03:04.294 --> 00:03:12.679 이제 OhNoesGuy나 Sal을 array에 추가하면 바로 제 친구가 되는 거에요 00:03:12.679 --> 00:03:21.161 항상 배열 전체를 훑기 때문에 새 친구들을 자동으로 보여줄 거에요 00:03:21.161 --> 00:03:24.296 예전 코드는 더 이상 필요없으니 지울게요 00:03:24.296 --> 00:03:28.237 이 코드가 어떤 일을 하는지 다시 살펴볼게요 00:03:28.237 --> 00:03:31.628 friendNum = 0 부터 시작해요 00:03:31.628 --> 00:03:34.483 그리고 friendNum이 배열의 현재 길이보다 작은지 체크해요 00:03:34.483 --> 00:03:37.841 0은 6보다 작아요 참이죠 00:03:37.841 --> 00:03:41.712 그러면 반복문안으로 들어가서 text명령어를 수행해요 00:03:41.712 --> 00:03:44.294 처음에는 myFriends[0] 에요 00:03:44.294 --> 00:03:47.295 다음엔 30 + 0 * 30 이고요 00:03:47.295 --> 00:03:53.712 그러니까 Sophia를 (10,30)위치에 출력해요 00:03:53.712 --> 00:03:56.295 그리고 friendNum++ 을 하니까 1이 되요 00:03:56.295 --> 00:04:00.251 다시 돌아가서 "1은 myFriends.length 보다 작지? 응, 맞아" 를 하는거에요 00:04:00.251 --> 00:04:02.606 그리고 또 하고, 또 하고, 또 계속 반복 해요 00:04:02.606 --> 00:04:04.610 마지막으로 Sal이 나와요 00:04:04.610 --> 00:04:11.622 기억하세요. Sal은 6번째 요소지만 0에서 시작하니까 인덱스는 5에요 00:04:11.622 --> 00:04:14.266 5가 6보다 작나요? 그렇죠 00:04:14.266 --> 00:04:16.182 myFriends[5]를 출력하게 돼요 00:04:16.182 --> 00:04:21.628 그럼 이 값이 6이 될 거고 "6이 6보다 작나요?" 아뇨. 같죠 00:04:21.628 --> 00:04:25.440 이건 거짓이 될 거에요 여섯 번째 요소를 출력하지 않겠죠 00:04:25.440 --> 00:04:29.272 6번 인덱스엔 아무것도 없으니까 괜찮아요 00:04:29.272 --> 00:04:33.392 6번째 요소는 있지만 6번 인덱스엔 아무것도 없어요 00:04:33.392 --> 00:04:40.030 좀 헷갈릴 수 있지만 곧 익숙해 질거에요 00:04:40.030 --> 00:04:42.432 좋아요. 이게 반복문이에요 00:04:42.432 --> 00:04:46.585 만약 for문을 더 좋아하면 for문을 사용해도 돼요. 00:04:46.585 --> 00:04:54.252 for문에서는 'for'랑 'var friendNum = 0;' 을 쓰고 여기 조건을 쓸게요 00:04:54.252 --> 00:04:58.677 'friendNum < myFriends.length;' 00:04:58.677 --> 00:05:01.672 그리고 증가하는 부분도요 'friendNum++' 00:05:01.672 --> 00:05:06.711 for문 안에는 이 코드를 쓰면 돼요 00:05:06.711 --> 00:05:09.710 여러분이 보이도록 x좌표를 바꿀게요 00:05:09.710 --> 00:05:12.085 둘 다 완전히 같은 일을 해요 00:05:12.085 --> 00:05:14.070 어떤 걸 사용할지는 여러분 마음이에요 00:05:14.070 --> 00:05:17.196 요점은 반복문을 배열과 함께 사용하면 좋다는 거에요 00:05:17.196 --> 00:05:21.181 왜냐면 여러분들을 훨씬 강력하게 해줄거니까요