이터레이터 패턴
컬랙션의 세부사항을 몰라도 그 안에 들어있는 모든 항목에 접근하는 방법을 제공한다.
컬랙션의 세부사항을 몰라도 그 안에 들어있는 모든 항목에 접근하는 방법을 제공한다.
전체 알고리즘은 상위 클래스에서 구현하면서 특정 부분은 서브 클래스에서 구현하게 하는 패턴
복잡한 인터페이스들을 쓰기 쉬운 하나의 인터페이스로 단순화한다.
어댑터 패턴은 코드 변경 없이 한 인터페이스를 다른 인터페이스에서 사용할 수 있게 한다.
실행될 기능을 캡슐화함으로써 기능의 실행을 요구하는 호출자(Invoker) 클래스와 실제 기능을 실행하는 수신자(Receiver) 클래스 사이의 의존성을 제거한다.