공학에서는 최적화(자원이 무한하지 않기 때문에), 복잡성 관리 (지능이 무한하지 않기 때문에)두 가지가 중요하다.그 중에서 복잡성 관리의 경우에는, 모듈화를 통해 해결할 수 있다.일상생활에서 예를 들어보면, 옷을 온 집안에 다 널부러놓는 것 보다는 옷장에만 옷을 넣어놓는다면 복잡하지가 않게 된다.옷장이라는 모듈화가 되는 것. 옷을 꺼내서 입고, 다시 옷장에 넣는 것. 기본적으로 역할을 구분해야 한다. 역할 단위를 모듈이라고 보면 된다.역할을 구분하는 것에서 멈추지 않고, 서로의 역할이 어떻게 작동하는지는 몰라도 된다.예를 들어서, 월급을 받는 직장인들은 월급이 들어오는 금액과 일시만 알면 되는것이지 어떻게 해서 그 금액이 산출되었고 어떤 과정을 통해서 내 통장으로 월급이 들어오는지는 굳이 몰라도 된다. ..