0
생성자 내부에서 setter를 통해 DTO의 일부 멤버 변수를 초기화하려고합니다.pmd 룰 오버라이드 가능한 메소드가 객체 생성 중에 호출 됨
그러나 아래의 pmd 오류는 해당 pmd 규칙 위반을 제거하는 방법을 보여줍니다.
오버라이드 (override) 방법 'setAbc'객체 생성 중에 호출
class A{
private String x;
public getX(){
return x;
}
public setX(String x){
this.x = x ;
}
A(){}
A(B b){
setX("C");
}
}
왜 PMD가이 오류를 표시하는지 이해하는 것이 가장 중요합니다. 일단 이해되면, 당신은 또한 그것을 피하는 방법을 이해하고 실수를 다시 피하지 않을 것입니다. –
http://stackoverflow.com/questions/3404301/whats-wrong-with-overridable-method-calls-in-constructors를 읽어 보시기 바랍니다. – user1154664