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

Hoit님의 프로필 이미지
Hoit

작성한 질문수

Java TPC (생각하고, 표현하고, 코딩하고)

ArrayList 흉내내기(Object[])

ArrayLIst에 대해서 궁금합니다

작성

·

257

·

수정됨

0

ArrayList 흉내내기 강의에서

ObjectArray arr = new ArrayList(5) 를

ArrayList arr= new ArrayList(5)로 바꾸신후에도

각 메서드가 잘 작동한것이 헷갈립니다.

 

제가 이해한바로는

모든 클래스의 최상위클래스 Object의 ArrayList가 부모클래스로써 존재한다.

즉 상속이고 ArrayList는 ObjectArray가 가지고 있는 add, size get 등의 메서드를 가지고 있는데

그것을 ObjectArray가 그 메서드들에 대해 재정의(?) 를 해놓았기 때문에 똑같이 작동한다.

 

만약에 ArrayList에게 해당메서드가 없으면

((ObjectArray)ArrayList).add 이런식으로 다운캐스팅이 되어야 될건데 말이죠

제가 재정의라고 이해한것이 맞을까요?

 

답변 1

1

박매일님의 프로필 이미지
박매일
지식공유자

네 그렇습니다. 부모 클래스의 메서드를 자식 클래스에서 재정의를 하면 upcasting으로 객체를 생성하여 접근이 가능하기 때문입니다.

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

이해한게 맞는거였군요 감사합니다 선생님

Hoit님의 프로필 이미지
Hoit

작성한 질문수

질문하기