깨끗한 코드를 작성하기 위한 여덟번째 기록 외부 코드 사용하기 java.util.Map을 살펴보면 Map은 다양한 인터페이스로 수많은 기능을 제공합니다. Map이 제공하는 기능성과 유연성은 확실히 유용하지만 그만큼 위험도 큽니다. 프로그램에서 Map을 만들어 여기저기 넘긴다고 했을 때 Map 이 제공하는 clear() 메서드를 통해 누구나 Map의 내용을 지울 수 있게 되기 때문입니다. Map과 같은 경계 인터페이스를 이용할 때는 클래스나 클래스 계열 밖으로 노출되지 않도록 주의해야 합니다. Map 인스턴스를 공개 API의 인수로 넘기거나 반환값으로 사용하지 않습니다. 아직 존재하지 않는 코드를 사용하기 팀 작업에서 다른 팀이 API를 설계하지 않았을 때, 구현을 미루고 자체적으로 필요한 인터페이스를 정..