반응형
[Effective Java] 객체 참조는 그 객체의 인터페이스 타입으로 하자 |
-
객체를 참조할 때는 클래스보다는 인터페이스를 사용해야 한다.
만일 적합한 인터페이스 타입이 있다면, 매개 변수, 반환 값, 변수, 필드 모두 다 인터페이스 타입을 사용해서 선언해야 한다.
유일하게 객체의 클래스를 참조할 필요가 있는 경우는 생성자에서 객체를 생성할 때이다.
-
인터페이스를 객체의 타입으로 사용하는 습관을 들이면, 프로그램이 훨씬 더 유연해진다.
-
인터페이스의 구현체(클래스)를 변경하고자 하는 이유는, 새로 변경한 구현체가 더 좋은 성능을 내는 경우가 많다.
-
만일 적합한 인터페이스가 없다면, 객체를 참조하는 타입을 인터페이스 대신 클래스로 하는 수밖에 없다.
적합한 인터페이스가 없는 경우는 보통 final 로 지정된 값 클래스류이다.
또 하나는 프레임워크에 속한 객체들. 이런 프레임워크 타입의 경우는 최대한 베이스 클래스로 하는 것이 좋다.
마지막의 경우는 인터페이스를 상속하며 새로운 메소드를 추가로 지원할 때이다.
반응형
'프로그래밍 놀이터 > 디자인 패턴, 리펙토링' 카테고리의 다른 글
[Effecitve Java] 네이티브 메소드를 분별력 있게 사용하자. (0) | 2017.02.14 |
---|---|
[Effecitve Java] 리플렉션보다는 인터페이스를 사용하자. (0) | 2017.02.13 |
[Effective Java] 문자열 결합의 성능 저하를 주의하자. (0) | 2017.02.07 |
[Effective Java] 다른 타입을 쓸 수 있는 곳에서는 String 사용을 피하자. (0) | 2017.02.06 |
[Effective Java] 박스화 기본형보다는 기본형을 사용하자. (0) | 2017.02.02 |
댓글