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

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

juhyeong_lee님의 프로필 이미지
juhyeong_lee

작성한 질문수

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

퀴즈 #8

Quiz08 도대체 뭐가 문젠지..

작성

·

200

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(...);

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

감사합니다.

juhyeong_lee님의 프로필 이미지
juhyeong_lee
질문자

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

juhyeong_lee님의 프로필 이미지
juhyeong_lee

작성한 질문수

질문하기