• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

퀴즈 7번 질문있습니다.

23.03.17 19:14 작성 23.03.17 19:16 수정 조회수 351

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

abj13님의 프로필

abj13

질문자

2023.03.17

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