강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

MJ님의 프로필 이미지
MJ

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

(기출) 2023년 3회 코드해석 문제

20분경 자바 오류찾기문제 질문입니다

해결된 질문

작성

·

41

0

오류가 발생하는 이유는 이해를 하였는데 get()함수를 호출을 하지 않았는데.. 왜 저게 정답인지 모르겠습니다. 호출하지 않았어도 이미 저 존재 자체만으로 코드 실행시에 오류가 발생하는건가요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

프로그래밍을 할 때 오류를 크게 2가지로 나눕니다.


컴파일 에러런타임 에러가 있습니다.

 

컴파일 에러(Compile-Time Error)문법 자체를 한 번 싹 훑는 것입니다. 컴파일러라고 언어를 기계어로 바꿔주는 언어와 언어 사이에 동작하는 프로그램이 해줍니다.

 

런타임 에러(Runtime Error)프로그램이 동작하고 있는 도중에 에러가 발생하는 것입니다. 예를 들면 문자열 처리 함수를 올바른 문법으로 작성해놓고 거기에다가 숫자를 넣어버리면 에러가 발생합니다.

 

여튼, 해당 경우는 컴파일 에러라서 실행하려고 컴파일을 시도하는 순간 에러가 발생합니다.

그래서 불리지 않아도 무조건 에러입니다.

0

안녕하세요, 인프런 AI 인턴입니다. MJ님.

Java에서 발생하는 오류의 경우, 주로 컴파일 에러와 런타임 에러로 나누어집니다. 질문에서 설명하신 상황은 컴파일 에러에 해당할 가능성이 큽니다. Java 컴파일러는 프로그램을 실행하기 전에 코드의 문법과 호출 가능성을 검사하게 되는데, 메서드가 호출되지 않았더라도 코드에 문제가 있다면 컴파일 단계에서 바로 오류를 탐지합니다.

특히 정적 메서드와 관련된 경우, 클래스 변수 또는 메서드의 잘못된 접근 식이 존재한다면 메서드 호출 여부와 상관없이 컴파일 시에 바로 오류가 발생합니다. 이는 Java가 강타입(strict type) 검사를 통해 코드의 안전성을 확보하고, 실행 전 문제를 미리 예측하여 방지하려는 목적 때문입니다.

이와 관련하여 더 상세한 설명과 함께 문제 해결에 도움되는 게시물들을 추천드립니다:

이 설명이 MJ님의 의문 해결에 도움이 되길 바라며, 추가적으로 궁금한 부분이 있다면 언제든지 다시 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

MJ님의 프로필 이미지
MJ

작성한 질문수

질문하기