Reflection
- 자바의 리플릭션은 특정 클래스의 타입을 모르더라도 해당 클래스의 정보(변수, 메소드)를 조회하거나 수정할 수 있는 기능으로 Java에서는 다양한 Reflection API를 제공
- Reflection을 활용하여 다양한 기능을 개발할 수 있지만 무턱대로 사용하다가는 성능 이슈를 발생시킬 수 있음
DI(Dependency Injection)
- 의존성 주입
- 의존성 : A 클래스는 B 클래스를 멤버변수로 갖고 있다면 A는 B에대한 의존성 존재
- 주입 : 내부에서 객체를 생성하여 주입하는 것이 아닌 외부에서 생성하여 주입
외부에서 의존성을 주입해주려면 어떤 정보들이 필요할까?
- A 클래스의 정보 확인(변수, 메소드)
- 멤버 변수 중 의존성 주입 대상을 확인(어노테이션 확인)
- Class 객체를 통하여 주입이 필요한 대상의 생성자를 통하여 인스턴스 생성
- 3번에서 생성한 인스턴스를 A에 주입
→ 위 절차를 진행할 때 Reflection API 사용
'자바 개발자되기' 카테고리의 다른 글
자바 스터디 1주차 : JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. (0) | 2020.11.08 |
---|---|
프록시패턴을 사용하는 이유 (0) | 2020.11.07 |
추상 클래스와 인터페이스 (0) | 2020.11.04 |
Java - Class Loader System과 Static Variables (0) | 2020.11.04 |
Database CASCADE와 OOP (0) | 2020.11.03 |