오버라이드 한 메서드가 부모 클래스의 생성자에서 불리고 있었다.
-> 결과, 하위클래스의 생성자가 불리기도 전에 해당 메소드가 불리게 된다.
해당 오버라이드한 메서드가 하위클래스의 인스턴스를 조작하는 행위를 하고있었기때문에-
NPE가 발생했다!!
호움!!
비슷하게 주의해야 하는경우.
오버라이드한 메소드가 상위클래스 내부의 private메소드를 사용하여 무언가 작업을 하는경우.
상위클래스의 구현변경에 의해 하위클래스가 영향을 받는다!!
ex ) Set클래스를 extends 해서 addAll 메서드를 조작했더니, 영향을 받음...
댓글 없음:
댓글 쓰기