부모클래스(Rect)의 필드(width & height)의 접근제한자는 private이다. 그러므로 자식클래스(Triangle) 내에서 해당 필드값을 그대로 가져다 사용하면 '필드(width, height)' has private access in Rect' 라는 에러가 발생한다. 그러므로 아래 사진의 Line 18과 같이 해당 필드로 구성된 메소드. 그 메소드(getArea)를 가져다 자식클래스 내의 구현하려는 새로운 기능(예시: /2)을 더해서 오버라이딩 해야한다.
Line 17. 메소드 무한반복 -> 하지만 getArea가 부모클래스 Rect의 getArea가 아닌 자식클래스 Triangle 자신의 메소드 getArea를 가리키기 때문에 return 결과값을 다시 본인의 getArea메소드로 불러오는 반복형태.
자식클래스(Triangle)의 메소드 안에서 super.메소드명() + 추가할연산 또는 기능; 을 통해 오버라이딩 구현한다.
'ERROR ARCHIVE' 카테고리의 다른 글
new생성자의 매개변수의 유무는 인스턴스 생성자의 매개변수에 달려있다. (0) | 2020.01.28 |
---|---|
this생성자 마지막에는 소괄호 생략 (0) | 2020.01.28 |
super() 안에 들어가는 매개변수 길이(length)는 부모클래스의 생성자의 매개변수의 길이와 같아야 한다. (0) | 2020.01.28 |