반응형

Reflection

    규칙 53 - 리플렉션 대신 인터페이스를 이용하라

    자바에서 제공하는 리필렉션 기능을 이용하면 메모리에 로드된 클래스 정보를 바탕으로 필드 정보를 가져오거나, 메서드를 실행시키고 객체를 만드는 등 다양하게 조작을 할 수 있다. 하지만 여기서 이런 리플렉션 기능에는 단점이 존재한다. 1. 컴파일 시점에 자료형을 검사하면서 얻을 수 있는 예외 처리에 대한 이점을 포기해야한다. 또한 접근할 수 없는 메서드를 호출하게 되는 경우에는 오류를 발생시킬 수 있다. 2. 리플렉션 기능을 이용하면 코드가 가독성이 떨어진다. 3. 리플렉션을 통한 메서드 호출은 일반적인 방식 보다 속도가 2 ~ 50배 정도 늦어진다. 사실 리플렉션은 컴포넌트 기반 응용 프로그램 저작 도구를 위해 개발 되었기 때문에, 일반적인 프로그램은 프로그램 실행 중에 리플렉션을 통해 객체를 이용하려 하..

    Java Reflection 설명 및 사용법

    자바는 Reflection이라는 언어의 특징이다. 리플렉션은 자가 프로그램이 자기 자신을 조사하거나, “introspect”하는 것을 실행하거나, 프로그램의 내부 프로퍼티의 조작을 허락하는 것을 말한다. 예를 들어 멤버변수의 이름을 취득하여 조작할 수 있다. 123456789try { Class c = Class.forName(args[0]); Method m[] = c.getDeclaredMethods(); for (int i = 0; i

반응형