작성
·
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 이런식으로 다운캐스팅이 되어야 될건데 말이죠
제가 재정의라고 이해한것이 맞을까요?
이해한게 맞는거였군요 감사합니다 선생님