리플렉션보다는 인터페이스를 사용하라
리플렉션 기능
- 리플렉션을 이용하면 임의의 클래스에 접근할 수 있다.
- Constructor, Method, Field 인스턴스를 가져올 수 있다.
- 특히, 클래스의 멤버 이름, 필드 타입, 메서드 시그니처를 가져온다.
- 물론 조작도 가능하다.
리플렉션 단점
- 컴파일타임 타입 검사가 주는 이점을 누릴 수 없다. 예외 검사도 마찬가지
- 리플렉션은 코드가 지저분하고 장황해진다.
- 성능이 떨어진다.
어떻게 해결할까?
- 컴파일타임에 이용할 수 없는 클래스를 사용해야만 하는 프로그램은 적절한 인터페이스 혹은 상위 클래스를 이용할 수 있다.
이 장 개어렵네,, ㅈㅅ;