• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

ArrayLIst에 대해서 궁금합니다

23.06.30 00:50 작성 23.06.30 02:00 수정 조회수 209

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

질문자

2023.06.30

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