컴파일 오류 (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 |