Angela Yu Flutter 섹션10 6강
![](https://velog.velcdn.com/images/cardiffspotato/post/f2398299-13ed-43fe-9c13-b7e4953dcbae/image.png)
내 앱에서 문제들의 정답이 바뀐다면 앱이 엉망진창이 될거다.
![](https://velog.velcdn.com/images/cardiffspotato/post/509b5887-4449-471b-9eda-26ed29a9fa2c/image.png)
그럴때는 이렇게 class의 이름 앞에 언더바를 붙여서 캡슐화를 할 수 있는데,
![](https://velog.velcdn.com/images/cardiffspotato/post/084f92d2-3d0e-4d27-b912-7173a5e200d8/image.png)
이렇게 되면 나조차도 권한이 없어 이렇게 앱이 안돌아가는 경우가 생긴다.
이럴때 어떻게 앱을 실행할 수 있을까?
![](https://velog.velcdn.com/images/cardiffspotato/post/8868ef87-6de4-46fd-af2e-c7e67696a3e0/image.png)
이렇게 QuizBrain class에 새로운 문자열 변수를 만든 뒤, 매개변수로 main.dart에 0으로 입력되어있는 questionNumber을 입력해준다.
그 뒤 0번째 index를 반환해준다.
![](https://velog.velcdn.com/images/cardiffspotato/post/0be76cb6-76b9-4c1c-9912-f1774d1cc2ed/image.png)
그 뒤 main.dart에서 class에 들어있는 변수를 불러와주기만 하면 된다.
![](https://velog.velcdn.com/images/cardiffspotato/post/dd35a5b1-adc5-43ed-8908-bdafe538ed0c/image.png)
그리고 정답 유무를 알려주는 부분도 객체화를 시켰는데, (물론 챗지피티가)
![](https://velog.velcdn.com/images/cardiffspotato/post/513d3b99-cf22-4893-8deb-e3d94f6e617b/image.png)
챗지피티 덕분에 수월하게 잘 해결했다.
![](https://velog.velcdn.com/images/cardiffspotato/post/19931c5e-fa4e-40fb-bffd-d18be8fe3659/image.png)
또 문제가 마지막 문제까지 가면 더이상 넘어가지 않도록 만들어주는 변수도 만들어줬는데, if문을 써서 만약 questionNumber(현재 0)가 questionBank(질문의 개수 = 8) 의 길이에서 1을 뺀 수 (7) 보다 작다면 questionNumber(1)을 1씩 더해주라고 입력했다.
문제의 개수는 전부 8개지만, index는 0부터 시작하니 문제의 index대로 센다면 0~7이 된다.
그러니 마지막 문제의 index는 7이 되고, 이는 if 문에서 지정해준 questionBank의 길이에서 1을 뺀 수 (7)보다 작지 않으니 questionNumber(0)에 1을 더이상 더하지 않으면서 마지막 문제에서 다음으로 넘어가지 않는다.