Java/자바

Overriding

필리힐리 2021. 1. 14. 23:11

오버라이딩이란 재정의이다

 

부모클래스에서 어떤 메소드를 어느정도 변경해서 사용하고 싶을 때 사용한다

적용방법은 자식 클래스 내에서 다시 정의를 내려주면 된다

*광범위한건 부모 클래스에서 정의를 내리고 부분 부분 수정할 부분은 오버라이딩 기능으로 재정의하자

 

리턴할 때 주의점, 오버라이딩 메소드 불일치 오류

 

오버라이딩할 때 중요한 점은 상속해주는 부모 클래스 메소드와 오버라이딩 하는 메소드를 서로 일치해줘야한다는 것이다

 

오버라이딩 문제해결 1,2

1번은 데이터 타입을 먼저 int로 일치시켰고 부모 클래스에 있는 메소드에도 return 값을 주었다

하지만 이 방법을 사용하면 avg 메소드 안의 로직이 중복 되기 때문에 2번 방법을 주로 사용한다

 

2번은 return은 부모 자식 모두 그대로 두고 super를 통해 부모 클래스의 avg 메소드에 접근을 한다

이를 통해 코드의 중복을 없앴고 만약 변경사항이 있다면 부모 클래스에서만 수정을 하면 되기 때문에

유지보수면에서도 훨씬 효율적인 로직이 된다

'Java > 자바' 카테고리의 다른 글

System  (0) 2021.01.19
Overloading  (0) 2021.01.19
상속과 생성자  (0) 2021.01.14
유효범위  (0) 2021.01.13
클래스와 인스턴스 그리고 객체  (0) 2021.01.13