• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Quiz08 도대체 뭐가 문젠지..

23.09.22 10:13 작성 조회수 131

0

 

 

위와 같이 영상 풀이랑 똑같이 따라 해보았는데 main메소드에서 setDetector,setReporter를 호출할때 static으로 선언하라며 에러가 나네요.. 아무리봐도 똑같은 코드인데 뭐가 문제인지 질문드립니다!

답변 1

답변을 작성해보세요.

0

안녕하세요?
main() 메소드에서 SpeedCam 클래스로부터 만드신 speedCam 객체를 사용하셔야 하는데 s 가 소문자가 아닌 대문자로 작성되어 있어서 그렇습니다. s 가 대문자가 되면 speedCam 객체 이름이 아닌 SpeedCam 이라는 클래스 이름이 되며, 자바에서는 static 으로 정의된 메소드를 클래스명을 통해 호출 가능해요. 하지만 setReporter / setDetector 는 non-static 메소드이므로 에러가 발생하는 것입니다.

SpeedCam.setReporter(...);
SpeedCam.setDetector(...);

위 부분을

speedCam.setReporter(...);
speedCam.setDetector(...);

와 같이 바꿔보시면 올바로 동작할 거에요 😊

감사합니다.

네.. 잘되네요.. 감사합니다!