강 : 안넣는게 맞는 것 같다 ⇒ 만약에 토끼의 위치에 다른 동물로 대체되어도 무조건 목격자(증인)을 알아야하는게 맞다면 추상 클래스로 프로퍼티를 추상화시키는게 아닌 팩터리 메서드 형태로 매게인자에 증인 인터페이스를 받도록 구현하여 토끼 역할이 증인을 가지는 것을 추상화 시킬 것 같다
interface 인터페이스1{
인터페이스1 create(목격자 ㅁ격자);
}
class 클래스1 implement 인터페이스1{
private 클래스1()
}
public 클래스1 create(){
// 로직 수행
return new 클래스1();
}
}