컴파일 에러와 런타임 에러의 차이점

Jiya·2025년 3월 8일

컴파일 에러(Compile Error)

발생 시점: 코드가 실행되기 전, 컴파일 단계에서 발생
원인: 문법적 오류(syntax error)가 있을 때 발생
특징: 프로그램이 실행되기 전에 감지되어 실행 자체가 불가능함
예시:

세미콜론(;) 누락
괄호 짝이 맞지 않음
변수 선언 오류
연산자 사용 오류 (예: = 대신 == 사용해야 할 때)
라이브러리 import 문제

런타임 에러(Runtime Error)

발생 시점: 프로그램 실행 중에 발생
원인: 프로그램 실행 중 예상치 못한 상황이나 잘못된 로직으로 인해 발생
특징: 문법적으로는 문제가 없어 컴파일은 성공했으나 실행 중 문제가 발생
예시:

0으로 나누기
배열의 범위를 벗어난 접근
NULL 포인터 참조
메모리 부족
타입 변환 오류
무한 루프

핵심 차이점

발생 시점: 컴파일 에러는 코드 실행 전, 런타임 에러는 코드 실행 중 발생
감지 용이성: 컴파일 에러는 상대적으로 발견하기 쉬움, 런타임 에러는 특정 조건에서만 발생하여 발견하기 어려울 수 있음
해결 방법: 컴파일 에러는 문법적 수정으로 해결, 런타임 에러는 로직 수정이나 예외 처리가 필요

profile
코딩 공부 노트

0개의 댓글