외부 코드 사용하기 패키지 제공자나 프레임워크 제공자는 적용성을 최대한 넓히려 애쓴다. 사용자는 자신의 요구에 집중하는 인터페이스를 바란다. java.util.Map Map은 다양한 인터페이스로 수많은 기능 제공. Map이 제공하는 기능성과 유연성은 유용하지만 그만큼 위험이 크다. 문제 1 : Map 사용자라면 누구나 Map 내용을 지울 권한이 있다 - clear() 문제 2 : Map은 객체 유형을 제한하지 않기에 사용자는 어떤 객체 유형도 추가할 수 있다. 개선이 필요한 예시 (문제 1, 문제 2 존재) Map이 반환하는 Objet를 올바른 유형으로 변환할 책임은 Map을 사용하는 클라이언트에 있다. clear() 함수를 이용해서 누구나 Map의 내용을 지울 수 있다. Map sensors = new..