: 컴파일러가 이해할 수 없는 코드를 발견한 경우, 프로그램의 실행을 막는 오류이다.
프로그램에서 수행할 수 없는 작업을 시도한 경우, 프로그램 실행중 나타나는 오류. => 대부분 프로그램 설계를 잘못해서 나타나는 오류임.
ex)
- 나누기 0
- 무한루프에 빠지는 코드 작성 <(내가 가장 많이 겪은 원인..)
- null pointer error : JAVA에서 nullPointerException이란게 있는데 pointer역할을 하는 객체가 null값일 때 나타나는 오류라고한다. 하지만 java를 다뤄본 적이 없어 잘 모르겠다.
- segmentation fault/bus error : 존재하지 않는 메모리 위치에 접근하려고 할 때 나는 에러.
논리 오류는 사용자가 의도한 대로 프로그램이 수행하지 못할 때 나는 오류라고 할 수있다. 실행 자체는 에러없이 잘 되더라도 작업 결과가 의도와 다른 경우.
=> 에러메시지가 없기 때문에 어떤 부분에서 잘못 되었는지 찾아야한다.
흩어진 소스코드 파일들을 컴파일 한 후, 각자 연결할 때발생하는 에러.
사용하려는 코드 파일이 실제로는 존재하지 않을 때 나타남.
파일이 위치에 맞게 제대로 있는지, 선언 과정에서 오타가 있지 않은지 체크해보는 것이 좋다.
인터프리터 언어에서 발생한느 에러. 문법적 오류로 나타난다.
흔히 세미콜론이나 중괄호 (;, })를 제대로 작성하지 않은 경우 나타난다.