[Effective Java] 52. 객체를 참조할 때는 그 인터페이스를 사용하라.

최대 1 분 소요

만약 적당한 Interface 자료형이 있다면 parameter, return value, 변수, 멤버 필드의 자료형은 가능한 Class 대신 Interface로 선언하는 것이 좋다.

객체의 실제 Class를 참조할 필요가 있는 순간은 생성자로 객체를 생성할때이다.

// 좋은 예
List<Subscriber> subscribers = new Vector<Subscriber>();

// 나쁜 예
Vector<Subscriber> subscribers = new Vector<Subscriber>();

interface를 자료형으로 사용하면 프로그램이 유연해진다.

만약 어떤 객체의 구현을 다른 것으로 변경하고 싶을때 인터페이스를 사용중이라면 별다른 수정 없이 구현체를 변경할 수 있다.

만약 적당한 interface가 없다면 class로 참조하는 것이 당연하다.

class를 참조할때 우선 abstract로 선언된 class를 상속받는 구조라면 해당 class를 자료형으로 참조하는 것이 좋다.

그렇지 않다면 당연히 원래 class를 참조하게 될 것이다.
만약 구현 class에만 있는 특정 기능을 사용한다고 한다면 그때도 당연히 해당 class를 직접 참조하게 될 것이다.

댓글남기기