43
break와 continue
break와 continue를 사용하면 루프 안에서 ‘점프’할 수 있다.
초기 프로그래머들은 명령 코드(opcode)를 사용하거나 명령 코드로 변환되는 어셈블리 언어(assembly language)를 사용해 프로세서용 코드를 직접 작성했다. 이런 방식의 프로그래밍은 가장 낮은 수준에서 이뤄지는 프로그래밍이다. 예를 들어 여러 가지 선택을 표현할 때 코드의 여러 위치로 직접 ‘점프’하는 방식으로 이를 구현했다. 초기 고수준 언어(포트란, 알골, 파스칼, C, C++)는 goto 키워드를 통해 이 방식을 채택했다.
goto는 어셈블리 프로그래머가 고수준 언어로 편하게 전환할 수 있도록 해줬으나, 프로그래밍 커뮤니티에서는 경험이 쌓임에 따라 조건 없이 점프하는 명령이 복잡하고 유지 보수하기 어려운 코드를 만들어낸다는 사실을 알아냈다. 이로 인해 goto에 강하게 반대하는 경향이 생겨났고, 그 이후 상당수의 후속 언어에서는 무조건 점프를 채택하지 않았다.