[CS] 컴파일 에러 & 런타임 에러란 무엇인가?

동민·2022년 9월 15일
0
post-thumbnail

컴파일이란?

  • 컴파일은 개발자가 작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 과정을 말한다.
  • 하이 레벨의 언어를 컴퓨터가 이해할 수 있는 로우 레벨의 언어로 변환하는 과정
  • 컴파일되는 과정을 컴파일 타임이라고 한다.

컴파일 에러 🚨

  • 문법 오류로 프로그램을 컴파일할 수 없는 에러
  • 대체로 새미콜론(;) 누락, 타입 체크 실수 등의 문법 오류로 인해 발생하며, 이를 Syntax 오류라고 함
  • 보통 IDE에서 에러가 발생한 부분을 알려주기 때문에 수정이 어렵지 않다.

런타임이란?

  • 컴파일 과정을 마친 프로그램이 실행되는 시점.

런타임 에러 🚨

  • 프로그램 실행 도중에 발생하는 에러로, 개발자의 설계 미숙으로 인해 발생하는 에러
  • 널포인트, 무한 루프, ArithmeticException(숫자를 0으로 나누는 경우) 등등의 유형이 있음
  • 런타임 에러는 try ~ catch 문을 사용해서 예방할 수 있음
  • 논리 에러(Logical Error) : 개발자의 논리적 실수로 인해 발생하는 에러
  • 시스템 에러(System Error) : 프로그램 동작 중에 하드웨어 및 운영체제에 문제가 발생해 프로그램이 정상적으로 동작하지 않는 에러
public class ErrorTest {
    public static void main(String[] args) {
        while(true) { // while문 종료 조건이 없기 때문에 무한 루프 발생!
            System.out.println("hello");
        }
    }
}

한 줄 요약

컴파일 에러: 컴파일 과정에서 발생하는 에러 -> 프로그램 실행 전에 발생하는 에러
런타임 에러: 프로그램 실행 도중에 발생하는 에러 -> 프로그램 실행 중 발생하는 에러

profile
Backend engineer

0개의 댓글