본문 바로가기
공부방/오류

논리적 오류(Logical Errors)에 대해 알아보자

by SmartCow 2024. 5. 8.
목차
1. 논리적 오류 개요
2. 논리적 오류 발생 원인
3. 논리적 오류 코드 예제
4. 논리적 오류 디버깅
5. 논리적 오류 테스트
6. 논리적 오류 코드 리뷰
7. 논리적 오류 주의 사항
8. 결론

 

 1. 논리적 오류 개요

 논리적 오류는 프로그램의 실행 결과가 예상과 다르게 나타나는 경우를 의미한다.
 컴파일러나 런타임에서 오류를 감지하지 못하기 때문에 디버깅이 어려울 수 있다.
 이러한 오류는 주로 코드의 논리적인 부분에서 발생하며, 프로그램의 설계나 알고리즘에 문제가 있을 수 있다.

 

 2. 논리적 오류 발생 원인

 논리적 오류가 발생하는 주요 원인
1) 잘못된 조건문 사용 : 부정확한 조건문을 사용하여 예상과 다른 분기로 코드가 실행되는 경우
2) 잘못된 반복문 사용 : 반복문의 조건이나 반복 횟수를 잘못 설정하여 예상과 다르게 반복되는 경우
3) 부정확한 알고리즘 구현 : 문제를 해결하기 위한 알고리즘이 부정확하게 구현되어 있는 경우

 

 3. 논리적 오류 코드 예제

1) 잘못된 조건문 사용 예제

 위 코드에서는 25살인 경우 "성인입니다."라는 메시지가 출력되지만, 조건문이 >= 로 설정되어 있기 때문에 18세 이상인 경우만 고려되어야 한다.

2) 잘못된 반복문 사용 예제

 위 코드는 1부터 10까지의 합을 계산하는데 사용된다.
 그러나 반복문의 조건이 <= 로 설정되어 있어서 1부터 11까지의 합이 계산된다.

 4. 논리적 오류 디버깅


 논리적 오류를 해결하기 위해 디버깅 도구를 사용하면 좋다.
 프로그램을 실행하고 변수의 값을 확인하거나 코드의 각 부분을 실행하여 문제가 발생하는 부분을 찾을 수 있다.

 

 5. 논리적 오류 테스트


 테스트를 통해 논리적 오류를 발견할 수 있다.
 다양한 입력 값에 대해 프로그램을 실행하고 예상 결과와 실제 결과를 비교하여 문제를 파악할 수 있다.

 

 6. 논리적 오류 코드 리뷰


 다른 개발자들과 코드를 공유하고 리뷰를 받는 것도 논리적 오류를 발견하고 수정하는데 도움이 될 수 있습니다. 다른 시각에서의 피드백을 받아 코드를 개선할 수 있습니다.

 

 7. 논리적 오류 주의 사항


 논리적 오류를 방지하기 위해서는 코드를 작성할 때 주의 깊게 검토해야 한다.
 코드를 작성하기 전에 문제를 정확하게 이해하고 해결 방법을 고려해야 한다.

 

 8. 결론


 오류가 발생하지 않게 코딩을 하는게 제일 좋지만 항상 그럴수는 없다.
 또한 논리적 오류의 경우에는 실제로 오류가 발생하지는 않고 로직상에 잘못된 결과를 보여주게 되는 오류이기 때문에 문제가 발생해도 발견이 쉽지는 않다. 특히나 오탈자나 부등호등을 잘 썼나 확인해보는게 먼저인거 같다.