1 간혹 자바의 컬렉션을 사용할 때 List, Set, Map과 같은 인터페이스가 아닌 ArrayList, Vector, HashMap, HashTable과 같은 구현체로 선언할 때가 있는데 이는 객체의 결합도 측면에서 매우 비효율적인 방식이다.
2 따라서 변수선언할 때 고유한 특성을 갖는 구현체가 아닌 인터페이스선언하면 해당 변수를 단일한 구현 객체의 형태로 제한되지 않아서 같은 인터페이스를 바탕으로 구현한 모든 객체가 호환되어 코드의 유연성이 높아진다.
3 따라서 변수인터페이스선언하면 객체의 내부 구현 구조와 상관없이 해당 인터페이스의 형태로 구현한 모든 구현 객체변수에 지정할 수 있다.
트위터 반응

@developerfarm: "객체를 선언할 때는 클래스가 아닌 인터페이스로 선언한다" http://t.co/6Sv0tVLW9f