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

뱅준님의 프로필 이미지
뱅준

작성한 질문수

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

퀴즈 7번 질문있습니다.

작성

·

422

·

수정됨

0

스크린샷 2023-03-17 오후 7.15.15.png안녕하세요. 선생님 강의 퀴즈 7번을 풀다가 에러가 나서 질문 드립니다.

다형성을 이용해서 클래스를 배열에 담는 과정에서 에러가 발생하는데요. 소스코드를 선생님과 동일하게 쳐도 non-static variable this cannot be referenced from a static context 에러가 뜹니다..

구글링을 통해 해결해보려고 했으나 각 클래스에 static 을 명시해줘야 한다고 해서 해보니까 스택오버플롤우 에러가 뜨네요 ㅜㅜ

답변 3

1

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

앗 잠시...
클래스를 static 으로 정의하셨다구요?
별도의 클래스가 아닌 InnerClass 로 정의하신 것 같은데.. 코드를 다음과 같이 분리하시면 static 필요 없이 문제 해결이 될 것으로 보입니다.

public class _Quiz_07 { 
    public static void main ( ... ) {
        // 햄버거 객체 생성
    }
}

class Hamburger {
    ...
}

class CheeseBurger extends HamBurger {
    ...
}

class ShrimpBurger extends Hamburger {
    ...
}

static 으로 정의하신 클래스가 Quiz_07 클래스 내에 포함된 것은 아닌지 확인해주세요 😅
감사합니다.

0

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

안녕하세요?
다행히 스스로 해결을 잘 해주셨네요 😊
남은 강의도 파이팅이에요 🙌
감사합니다.

0

뱅준님의 프로필 이미지
뱅준
질문자

오 해결 됐습니다! 제가 각 자식클래스에 this.cook()으로 해놨었네요 ㅎㅎ;; super.cook()으로 바꾸고 클래스를 static으로 명시해주니까 해결 됐습니다!

뱅준님의 프로필 이미지
뱅준

작성한 질문수

질문하기