수퍼 클래스 BaseClass와 하위 클래스 SubClass가 있고 하위 클래스의 기능 중 일부를 약간 다르게 지정하려면 원본을 재정의하고 수퍼를 호출하고 약간의 추가 기능을 추가하는 것은 좋지 않은가요?super를 호출하여 약간의 기능을 추가하기 위해서만 함수를 재정의하는 것은 나쁜 습관입니까?
예를 들면 : (의사 코드)
public class BaseClass{
int fooA();
int fooB();
int fooC();
}
public class SubClass extends BaseClass{
@Override
int fooB(){
int temp = super.fooB();
temp += 1;
return temp;
}
@Override
int fooC(){
System.out.println("I'm doing something extra in fooC!");
return super.fooC();
}
}
내가 코드 중복을 방지하기 위해 노력하고있어,하지만 난 종류의 느낌이 나는 뭔가 잘못하고 또는 몇 가지 기본적인 OOP 물건을 잊어 버리는 것 같은, 그래서 내가 생각 이것이 나쁜 행동인지 물어 봅니다. 상속을 한 지 오래되었습니다. 어떤 통찰력에도 감사드립니다. 대신 다음을 수행 할 수 있습니다 상속의
상속을 통해 구성을 선호합니다. – Kayaman
@ 카야 만 (Kayaman) "상속에 대한 구성을 선호합니다"라는 말은 항상 사실과 같습니다. 경우에 따라 상속보다 컴포지션이 적합하고 다른 경우에는 상속이 컴포지션보다 적합합니다. –
* 상속을 한 지 얼마되지 않았습니다. :) – CKing