5
방문자 패턴에서 accept () 메소드의 요점은 무엇입니까?
알고리즘을 클래스에서 분리하는 것에 대한 많은 이야기가 있습니다. 그러나 한 가지는 설명되지 않은 채로 남아 있습니다. 그들은 이렇게 방문자를 사용합니다 abstract class Expr { public <T> T accept(Visitor<T> visitor) {visitor.visit(this);} } class ExprVisitor extends Visitor{ public Integer visit(Num num) { return num.value; } public Integer visit(Sum sum) { return sum.getLeft().accept(this) …