Java/기본

[Java] 컴파일 오류? 런타임 오류?

댕주 2024. 11. 14. 00:41

컴파일 오류 (Compile-Time Error)

  • 시점: 코드를 작성하고 컴파일할 때 발생하는 오류
  • 발생 이유: 문법 오류나 잘못된 데이터 타입 사용 등 코드의 형식이나 문법이 맞지 않을 때 발생
int number = "문자열"; // 정수형 변수에 문자열을 할당하려고 할 때
  • 컴파일러가 오류를 발견하고, 코드가 실행되지 않으며 수정이 필요하다

런타임 오류 (Runtime Error)

  • 시점: 코드가 컴파일된 후, 프로그램이 실행중일 때 발생하는 오류
  • 발생 이유: 컴파일 과정에서는 문제가 없었지만, 실행 중에 예기치 못한 상황이 발생했을 때 나타난다. 
    예를 들어, 배열의 범위를 벗어난 인덱스에 접근하려 할 때, 또는 null 값을 찾모하려 할 때 발생한다.
String text = null;
System.out.println(text.length()); // null 갑을 사용하려 할 때

 

논리 오류 (Logical Error)

  • 시점: 코드가 정상적으로 컴파일 되고 실행도 되지만, 의도한 결과가 나오지 않는 오류
  • 발생 이유: 코드의 논리가 잘못되어 발생하며, 컴파일러나 런타임 오류 메시지가 없기 때문에 디버깅이 필요하다.
int result = 5 / 2; // 실제 의도는 5.0 / 2.0 이지만, 결과가 정수로 나옴
  • 실행 결과가 의도한 것과 달라 문제를 수행해야 한다.

컴파일 오류 → 코드 작성 후 즉시 확인할 수 있는 오류

런타임 오류 → 프로그램을 실행한 후에 발생하는 오류

'Java > 기본' 카테고리의 다른 글

[Java] 객체지향 프로그래밍  (3) 2024.11.14
[Java] 참조란 무엇일까?  (1) 2024.11.14
[Java] 순환참조  (1) 2024.11.14
[Java] @NoArgsConstructor, @AllArgsConstructor  (0) 2024.11.12
[Java] 트랜잭션  (0) 2024.11.11