YummyChecker가 AndChecker인 object로 설정이 되었으면, NotChecker라는 class는 언제 사용이 되는거에요?
그리고 NotChecker의 instance variable을 type Checker로 설정하는 이유가 무엇인가요?
================================================
YummyChecker 는 not A and not K 이죠. 그래서 A(aChecker) 와 kChecker 를 일단 Not 으로 필터링한 이후 각각을 And 로 연결시켜주는거에요.
Type Checker 로 한다면, 그 parameter 에 어떤 object 이던 올 수 있지요.
즉, AndChecker parameter 가 SubstringChecker 로 고정한다면 substring 이외에는 입력할 수 없지만
checker 티입으로 하면 substringchecker 뿐아니라 notChecker도, 또하나의 andchecker 로 무한히 연결해 쓸 수 있지요.
이게 polymorphism 의 좋은 예인 것이 그 때문이에요. ^^