1. 이름을 가진 생성자를 제공하여 의미를 보다 명확하게 할 수 있다
2. 인스턴스 개수를 캐싱하여 성능을 향상시킬 수 있다
3. 인스턴스 하위타입으로 반환하여 유연한 설계가 가능하다
4. 자바 8부터는 인터페이스가 static 메서드를 가지는 것이 가능하다
-> 이 이전에는 이것이 불가능했기 때문에 . Collection -> Collections이런식으로 구현 타입을 따로 알아서 써야했음
만약에 static으로 이제 가능하다면. 인터페이스 메서들에 일케 두고. 클라이언트 사용하는 쪽에서는 해당 인터페이스 메서드만 부르면서 하위타입(구현타입)은 신경안쓴채 좀더 유연하게 프로그래밍 할 수 있었을 것이다..
댓글 없음:
댓글 쓰기