인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

민우 홍님의 프로필 이미지
민우 홍

작성한 질문수

나도코딩의 자바 기본편 - 풀코스 (20시간)

퀴즈 #8

Chap_08 Quiz 호출에러

작성

·

187

0

이미지 2024. 6. 1. 오후 1.30.jpeg이미지 2024. 6. 1. 오후 1.36.jpeg이미지 2024. 6. 1. 오후 1.37.jpeg

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "chap_08.ditector.Detectable.detect()" because "this.detector" is null at chap_08.Camera.SpeedCam.detect(SpeedCam.java:28) at chap_08._Quiz_08.main(_Quiz_08.java:17) Process finis

호출할수 없다는 에러가 나오는데 혼자서 해결이 안되어,, 글남깁니다 ㅠㅠ

답변 3

0

나도코딩님의 프로필 이미지
나도코딩
지식공유자

안녕하세요?

잘 해결되셨다니 다행입니다 😊
학습하시다가 새로운 문제 또는 질문 거리가 생긴다면 글 남겨주시면 도움 드리도록 하겠습니다.

감사합니다.

0

민우 홍님의 프로필 이미지
민우 홍
질문자

객체 초기화부분이 잘못되었던거 같아요…! 천천히 다시 해보니 해결되었습니다 감사합니다

0

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

민우 홍님의 NullPointerException 문제에 대해 답변드립니다. NullPointerException은 Java에서 객체 참조가 null인 상태에서 그 객체의 메서드나 속성에 접근하려고 할 때 발생합니다. 제공된 스크린샷들과 설명을 바탕으로, 이 문제는 SpeedCam 클래스의 detector 객체가 초기화되지 않은 상태에서 detector.detect() 메서드를 호출하려고 했기 때문에 발생한 것으로 보입니다.

이 문제를 해결하기 위한 구체적인 해결책:
- SpeedCam 클래스 내에서 detector 객체를 올바르게 초기화했는지 확인해 보세요. 예를 들어, main 메소드나 어떤 메소드에서 setDetector(new AccidentDetector());와 같은 방식으로 detector 객체에 대한 초기화가 제대로 이루어져야 합니다.

  • SpeedCam 클래스에 detectorreporter 객체를 설정하는 setDetector()setReporter() 메서드가 올바르게 구현되어 있는지 확인하세요. 다음은 그 예입니다.
    ”`java
    public void setDetector(Detectable detector) {
    this.detector = detector;
    }

public void setReporter(Reportable reporter) {
this.reporter = reporter;
}
“`

제공된 정보와 유사한 문제로 인해 NullPointerException 해결 방법을 다룬 이전 질문이 있으므로 참고하실 수 있습니다.
- Quiz08 도대체 뭐가 문젠지..

위 질문에서도 main 메소드에서 객체의 메서드를 호출할 때 생긴 에러와 관련해 설명하고 있습니다. 에러의 원인과 해결 방법을 제공하고 있으므로, 비슷하게 SpeedCam 객체의 detectornull인 이유를 이해하고 해결하는 데 도움이 될 것입니다.

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

민우 홍님의 프로필 이미지
민우 홍

작성한 질문수

질문하기