강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của dksqodwns
dksqodwns

câu hỏi đã được viết

Java cơ bản của Nadocoding - Khóa học toàn bộ (20 giờ)

퀴즈 7번 질문있습니다.

Viết

·

518

·

Đã chỉnh sửa

0

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

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

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

java객체지향

Câu trả lời 3

1

nadocoding님의 프로필 이미지
nadocoding
Người chia sẻ kiến thức

앗 잠시...
클래스를 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

nadocoding님의 프로필 이미지
nadocoding
Người chia sẻ kiến thức

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

0

dksqodwns님의 프로필 이미지
dksqodwns
Người đặt câu hỏi

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

Hình ảnh hồ sơ của dksqodwns
dksqodwns

câu hỏi đã được viết

Đặt câu hỏi