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

홍세정님의 프로필 이미지

작성한 질문수

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

상속 특징

Object 클래스로는 childs를 묶을 수 없는건가요?

작성

·

312

1

Object[] childs = new Object[2];

이렇게 선언을 했는데,

childs[i].makeJJajang();

이거 할 때
`
java: cannot find symbol

symbol: method makeJJajang()

location: class java.lang.Object
`
이렇게 뜨는데 왜 안되는건가요?

답변 2

0

최상위클래스인 Object 배열 객체를 만드신 뒤에 Object에 선언되어있는 makeJJajang()이라는 메서드를 호출하시려고 하셨습니다. 그러나 makeJJajang()이라는 메서드는 ChildClass나 ParentClass에 있습니다. Object에 makeJJajang()이 정의되어 있지 않기에 뜨는 오류입니다.

 

위의 댓글과 같이 강제형변환하거나 해당 메서드가 있는 객체를 다시 만드시면 될 것 같습니다.

0

명시적 형변환이 필요해보입니다.

((ParentClass)childs[i]).makeJJajang(); 으로 하시면 될 듯합니다.