[챗GPT로 코딩 공부] for루프 탈출 방법

내일배움캠프 수료생들은 챗GPT를 어떻게 개발 공부에 활용할까요?
Jun 28, 2024
[챗GPT로 코딩 공부] for루프 탈출 방법
✍🏼
챗GPT, 개발 공부에 있어서 든든한 친구 같은 존재이죠. 내일배움캠프의 수강생들도 혼자 공부할 때에는 챗GPT의 도움을 받고 있는데요. 오늘은 내일배움캠프 수료생들의 챗GPT 경험담을 보고, 여러분의 개발 공부에 적용해봅시다.
 
저는 for문 내에서 for루프를 빠져나갈 때 return문을 종종 쓰고 합니다. 근데 다른 사람들의 코드를 보면 for문 내에서 return문을 안쓰는 경우도 있더라고요. 단순히 궁금해서 챗GPT에게 물어봤습니다.
 

Break 사용하기

형수: ‘C#에서 for문을 나가기 위해 return문을 써도 돼?’라고 입력했습니다.
챗GPT: 일반적으로, C#에서 return 문은 메서드나 함수 내에서 해당 메서드 또는 함수를 종료하고 값을 반환하는 데 사용됩니다. for 루프를 종료하기 위해 return 문을 사용하는 것은 일반적이지 않습니다. 대신, break 키워드를 사용하여 for 루프를 중단할 수 있습니다.
 
break문은 아래와 같이 사용합니다.
for (int i = 0; i < 10; i++) { if (someCondition) { break; // 이 위치에서 for 루프를 종료합니다. } }
 
그러나 특정한 경우에는 return 문을 사용하여 메서드나 함수 전체를 종료하고자 할 수 있습니다. 이 경우에는 return 문이 for 루프를 종료하는 것보다는 메서드 또는 함수를 종료하는 것으로 간주됩니다. 아래는 예시입니다.
public void SomeMethod() { for (int i = 0; i < 10; i++) { if (someCondition) { return; // 메서드 SomeMethod를 종료합니다. } } }
 
결론적으로, for 루프를 나가기 위해서는 break를 사용하는 것이 바람직하며, 메서드나 함수 전체를 종료하려면 return을 사용합니다, 라고 말해주었습니다.
 

Return과 Break의 차이

저는 여기에서 의문이 생겼습니다. 결과적으로 for문 루프를 나가는 건 return문이나 break문이나 똑같으니까요.
형수: ‘어쨌든 return도 for문 내에서 break랑 같은 기능으로 작동한다는거잖아’라고 입력했습니다.
챗GPT: 맞아요, 그렇게 말씀드렸죠. return 문이 for 루프를 나가는 것과 break 키워드가 수행하는 기능이 유사할 수 있지만, 이 둘은 서로 다른 목적을 가지고 있습니다. break는 현재 실행 중인 루프를 중단하고 루프 외부의 코드로 제어를 이동시킵니다. 반면에 return 문은 현재 실행 중인 메서드나 함수를 종료하고 값을 반환하며, 이 때 메서드 또는 함수 외부의 코드로 제어를 이동시킵니다. 따라서, return을 사용하여 for 루프를 나가는 것은 해당 루프에서만이 아니라 메서드나 함수 전체를 종료하는 효과를 가지므로, 상황에 따라 적절히 사용하여야 합니다.
라고 답변했습니다.
 
형수: return문과 break문이 for문 루프를 나가는 건 유사해서 결과는 똑같은데?
챗GPT: 네, 결과적으로 returnbreak는 특정 상황에서는 비슷한 결과를 가져올 수 있습니다. 그러나 이들은 각각 다른 의도와 사용 사례를 가지고 있습니다.
  • break: 현재 실행 중인 루프를 중단하고 루프 외부의 코드로 제어를 이동시킵니다.
  • return: 현재 실행 중인 메서드나 함수를 종료하고 값을 반환하며, 이 때 메서드 또는 함수 외부의 코드로 제어를 이동시킵니다.
따라서, 프로그램을 읽고 유지보수하는 사람들에게 코드의 의도를 명확히 전달하기 위해서는 각 키워드를 적절하게 사용하는 것이 중요합니다. 개발자들이 코드를 이해하고 유지보수하는 데에 있어서 코드의 명확성과 일관성은 매우 중요합니다.
 

Return과 Break를 분리해서 사용하는 이유

읽기 쉬우라고 그런건가라고 생각하며, 다시 질문했습니다.
형수: 챗GPT에 ‘결국 사람이 읽기 좋으라고 그런거네?
챗GPT: 맞아요, 코드의 가독성과 이해도는 매우 중요합니다. 코드를 작성할 때는 컴퓨터가 이해하는 것뿐만 아니라, 다른 개발자들이나 여러분 자신이 나중에 이 코드를 읽고 이해해야 할 때를 고려해야 합니다. 코드는 기능을 수행하는 것뿐만 아니라, 읽기 쉬워야 하며, 그렇지 않으면 코드를 이해하는 데 많은 시간과 노력이 필요할 수 있습니다. 따라서 명확하고 일관된 코드 작성은 소프트웨어 개발 과정에서 매우 중요한 부분입니다.
 
챗GPT와의 채팅 속에서 return은 함수를 반환하고, break는 루프를 중단한다는 것을 알 수 있었습니다. 또한 return과 break가 비슷한 기능을 하더라도 상세하게는 다르기 때문에 프로그램이 다르게 작동할 가능성이 있다는 것을 알았습니다. 더불어 코드는 사람이 읽기 편해야 하기 때문에 가독성이 떨어지면 안된다는 것도 알게 되었습니다.
 
 
notion image
notion image
notion image
 
 
 

내일배움캠프가 여러분의 러닝메이트가 되어드리겠습니다

내일배움캠프의 많은 수강생들이 부트캠프 생활을 수료하고 현업에서 개발자로 활약하고 있습니다. 내일배움캠프는 모든 운영진이 교육, 특강, 12시간 밀착 케어, 찐한 관리, 인재 채용까지 열과 성을 다해 수강생들의 꿈을 지원하고 있습니다. 수많은 장애물을 넘을 수 있도록 내일배움캠프가 든든한 러닝메이트가 되어드리겠습니다. 내일배움캠프과 함께 여러분의 개발자 여정을 시작하세요.
 
 
CREDIT
글 | 김형수 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
Share article
Subscribe to our newsletter
RSSPowered by inblog