goto
static void main(string[] args){
for(int i = 0; i < 10; i++)
{
if(i == 7)
goto Something
}
}
Something : // 이 부분을 레이블이라고 부른다.
/// Codes
/// Codes
/// Codes
위와 같이 사용법은 간단하다.
보낼 곳을 goto 문을 통해 지정하고, 보낸 곳의 코드를 작성하면 된다.
예시를 볼 때는 특정 조건문에서 바로 빠져나오고, 사용도 쉽고 좋아보인다.
하지만 이 goto문을 프로그래밍 세계에서는 사용을 지양하고 있다.
이유는 간단하다.
정해진 로직대로 짜놓은 코드를 이리저리 넘어 다니기에 코드의 가독성을 심하게 해친다.
즉 유지 보수와 코드 이해 부분에서 문제가 생긴다는 것이다.
물론 한 두줄 goto문을 사용한다고 코드의 가독성이 그렇게 나빠지지는 않는다.
실제로 다중 반복문을 한 번에 빠져나올 때는 goto만한 것이 없다.
하지만 이도 goto문이 없어도 빠져나올 수는 있으며, 실제로 goto문이 없어도 모든 프로그램 구현은 가능하다.
팀 프로젝트를 하면 많은 함수와 클래스가 존재할 텐데, 이 상황에서 코드를 이리저리 넘는 goto문은 환영받지 못할 것이다.
goto문을 실제로 사용하는 사람이 정말 한두 줄만 적을 것이란 보장도 없다.
이런저런 이유로 goto 문은 존재는 하지만, 가급적 사용을 금지하고 있다.
실제로 goto문을 프로그래밍에 포함해야 하는가 에 대한 논쟁도 있다고 하니 쓰지 않는 게 좋다고 생각한다.
개인적인 공부를 위해 정리한 내용이며, 틀린 점이 있을 수 있습니다.
만일 틀린 내용이 있다면, 댓글로 알려주시면 감사하겠습니다.