Page 12 -
P. 12

가  운 이  좋 은  이 유 는  프 로 그 램 을  실 행 하 자 마 자  바 로  문 제 를  발 견 할  수  있 기  때 문 이 다.  그 림  1 -2 는
                          그 런  문 제  몇  가 지 를  보 여 준 다.
                                                                                                           1 1
                            그 림  1- 2   같 은  프 로 그 램 에 서  비 롯 된  버 그 가  있 는  세  가 지  프 로 그 램                프
                                                                                                            로
                                                                                                            램
                                     예                        예                        예                    그
                                                                                                            을
                              b <  0 ?     a  반 환      b  =  0 ?    a  반 환      b  =  0 ?    a  반 환         더
                                                                                                            안
                            아 니 요                    아 니 요                    아 니 요                         전
                                                                                                            하
                                                                                                            게
                            a 에 1 을  더 함             a 에 1 을  더 함             a 에 1 을  더 함                  만
                                                                                                            들
                                                                                                            기
                                      이  프 로 그 램 은             이  프 로 그 램 은             이  프 로 그 램 은
                                      잘 못 된  결 과 를             절 대 로  끝 나 지  않 음        절 대 로  끝 나 지  않 음
                                      만 듦
                            b 에 서 1 을  뺌             b 에 서 1 을  뺌             a 에 서 1 을  뺌
                          첫  번 째  예 제 는  틀 린  결 과 를  만 들 어 내 고,  두  번 째 와  세  번 째 는  절 대  끝 나 지  않 는 다.  하 지 만  여 러 분
                          이  사 용 하 는  프 로 그 래 밍  언 어 가  이  예 제  중  일 부  프 로 그 램 을  아 예  작 성 하 지  못 하 게  막 을  수  있 다
                          는  점 을  알 아  두 라.  참 조 를  변 경 할  수  없 는  언 어 나  루 프 를  허 용 하 지  않 는  언 어  또 는  무 조 건  분 기 를

                          허 용 하 지  않 는  언 어 라 면  이  세  가 지  프 로 그 램  중  그  어 느  것 도  작 성 할  수  없 다.  따 라 서  단 지  그 런
                          언 어 를  사 용 하 기 만  하 면  이 런  문 제 가  해 결 된 다 고  생 각 할  수 도  있 다.  그 리 고  실 제 로 도  그 렇 기 는  하
                          다.  하 지 만  그 렇 게  제 약 을  가 하 는  언 어 는  제 공 하 는  기 능 의  범 위 가  너 무  좁 기  때 문 에  전 문 적 인  프

                          로 그 래 밍  환 경 에 서  사 용 하 기 에 는  적 합 하 지  않 다.
                          해 법 이  있 을 까 ?  그 렇 다.  해 법 이  있 다.  문 제 를  막 기  위 해  쓸 데 없 이  단 순 하 기 만  한  언 어 를  사 용 하 는
                          것 이  아 니 라  변 경 할  수  있 는  참 조 나  언 어 가  허 용 하 더 라 도  무 조 건  분 기 의  사 용 을  피 하 고  루 프 를  쓰

                          지  않 는  것 이 다.  즉,  여 러 분 이  해 야  할  일 은  잘  훈 련 된  방 식 으 로  프 로 그 래 밍 을  하 는  것 뿐 이 다.

                          상 태  변 이 나  루 프  같 은  위 험 한  기 능 을  사 용 하 지  말 라.  비 결 은  정 말  이 렇 게  단 순 하 다!  그 리 고  가 변
                          참 조 나  루 프 가  필 요 한  경 우 가  생 긴 다 면  그 들 을  추 상 화 하 라.  상 태  변 이 를  추 상 화 하 는  컴 포 넌 트 를
                          단  한  번 만  작 성 하 라.  그  후 에 는  같 은  문 제 를  다 시  처 리 할  필 요 가  없 을  것 이 다( 다 소  멋 진  언 어  중
                          일 부 는  처 음 부 터  이 런  기 능 을  제 공 할 지 도  모 른 다.  하 지 만  그 런  언 어 는  아 마  여 러 분 의  업 무  환 경 에

                          서  사 용 할  수  있 는  언 어 는  아 닐  것 이 다).  그 리 고  이 와  같 은  원 리 를  루 프 에 도  적 용 할  수  있 다.  최 근
                          대 부 분 의  언 어 는  전 통 적 인  방 식 으 로  사 용 하 는  루 프 와  추 상 화 한  루 프 를  함 께  제 공 한 다.  여 기 서  다
                          시  말 하 지 만  이 는  훈 련 의  문 제 다.  언 어 가  제 공 하 는  기 능  중  좋 은  부 분 만  사 용 하 라!  이 에  대 해 서 는
                          4 장 과  5 장 에 서  자 세 히  다 룬 다.

                          버 그 를  자 주  일 으 키 는  다 른  근 원 으 로  널 (n ull )  참 조 가  있 다. 6 장 에 서  볼  수  있 듯 이  코 틀 린 을  사 용



                                                                                                       0 3 5
   7   8   9   10   11   12   13   14   15   16   17