본문 바로가기
IT 이야기

프로그래밍에서 오류와 버그란?

by 썬's 2023. 2. 7.

안녕하세요 보글리아입니다.

요즘 많은 사람들이 IT 분야에 관심을 가져, 프로그래밍 언어를 배우는 분들이 점점 늘어나고 있습니다.

이런 분들은 프로그래밍을 처음에 하시다 보면 재미를 느끼시지만, 나중 되면 코드 길이가 점점 길어지고, 오류나 버그도 발생하게 됩니다 ㅎㅎ 오늘은 이 오류와 버그가 먼지 알아보도록 하겠습니다.

※IT 이야기 카테고리는 편하게 들어주시면, 감사하겠습니다 ㅎㅎ※

 


프로그래밍의 오류

여러분들이 C언어든 파이썬이든 프로그래밍 언어로 코드를 작성하시고 코드를 실행시키면, 다양한 오류를 접하게 됩니다. 이때 겪는 오류는 구문상 오류와 의미상 오류가 있습니다. 

  • 구문상 오류 : 규칙을 따르지 않았을 때, 발생하는 오류
  • 의미상 오류 : 의미적으로 틀릴 때, 발생하는 오류

먼저 구문상 오류를 보자면, 각 프로그래밍 언어에서 제공하는 일종의 규칙이 있습니다. 이 규칙을 프로그래머가 따르지 않았을 때, 발생하는 오류를 구문상 오류라고 합니다.

 

예를 들면 구문상 오류에는 다음과 같은 게 있습니다.

  1. 문장 끝에 세미콜론(;) 작성 안 함
  2. 프로그래밍 언어에서 제공하는 기능(예. for문, if문, 배열, 구조체 등)에 맞는 문법을 작성하지 않음
  3. 변수명 선언 시 빈칸이나 한글을 작성

이러한 구문상의 오류는 컴파일할 때, 프로그램이 빨간 줄로 오류와 그 오류에 해당하는 내용을 알려주기 때문에, 찾기 쉬운 오류입니다.  

 

다음으로 의미상 오류를 보겠습니다. 의미상 오류란 문장 형식이나 문법적으로는 맞지만, 읽어 봤을 때, 의미적으로 틀린 오류를 말합니다. 예를 들어, '나는 밥을 마신다' 혹은, '비행기는 바다에 잠수한다' 등과 같은 문법적으로는 맞지만 의미상으로는 틀린 문장을 의미상 오류라고 합니다.

 

이러한 의미상 오류는 정말 찾기 어렵습니다. 컴파일할 때, 오류 없이 잘 되지만, 프로그램을 실행하다 보면 오류가 나 프로그램이 중단됩니다. 즉, 컴파일 작업에서 발생하지 않은 오류가 프로그램 실행 시 발생합니다. 이러한 상황을 버그가 발생했다고 합니다.

즉 오류는 안 났지만, 버그가 발생하면, 컴파일러가 오류 사항을 체크해주지 않기 때문에, 프로그래머가 일일이 소스코드를 하나씩 찾아보면서 어디에서 버그가 나는지 직접 찾아야 합니다.

이렇게 버그를 찾는 작업 행위를 디버깅이라고 합니다.

 


오늘은 프로그래밍을 하는 중 발생하는 오류에는 어떤 게 있고,

오류가 발생하지 않지만, 프로그램 실행이 중단되는 현상이 버그를 알아봤습니다.

그럼 다음 시간에는 또 새로운 이야기로 찾아뵙겠습니다 ㅎㅎ

긴 글 읽으시느라 고생 많으셨습니다~~

'IT 이야기' 카테고리의 다른 글

13가지의 구글링 검색 방법  (0) 2023.09.02
언리얼 엔진 VS 유니티 엔진  (0) 2023.03.28
프로그래밍 언어란?  (0) 2023.02.23
C 언어의 탄생 및 특징  (0) 2023.02.22

댓글