본문 바로가기

2017/11

[자바] 자바 리플렉션 (Java Reflection) ※ 정의 - 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API ※ 어떻게 가능할까? - 자바 클래스 파일은 바이트 코드로 컴파일되어 Static 영역에 위치하게 된다. 그렇기 때문에 클래스의 이름만 알고 있으면 이 영역을 뒤져서 클래스에 대한 정보를 가져올 수 있다. 가저올 수 있는 정보 목록 ClassName Class Modifiers(public, private, synchronized 등) Package Info SuperClass Implemented Interface Constructors MethodsFields Annotations ※ 리플렉션 사용 예1 (클래스에서 메서드 찾기) public class Main { public.. 더보기
[SPRING] DI 란...? ※ DI (Dependency Injection) 란? 의존성 주입이란 말로도 쓰이며 스프링 IOC 컨테이너 핵심 개념 중 하나이며 이미 다양한 프레임워크에 적용되어 있다. 객체 간의 의존 관계를 외부의 조립기가 관리 불필요한 의존 관계를 없애거나 줄일 수 있다. 단위테스트 수행이 수월하다. 설정파일과 어노테이션을 이용하여 객체간의 의존 관계를 설정 각 객체를 빈(bean)으로 관리 ※ 그림으로 보는 DI 관계 - 의존성 주입 즉 객체를 생성하는게 아니라 객체를 외부에서 생성해서 주입시켜주는 방식 기존 객체생성법 - 특정 객체에서 A라는 객체와 B라는 객체를 직접 생성하고 있다 방법2) DI 방식의 객체생성법 - 외부에서 생성된 객체를 setter()나 생성자를 통해 사용하는 방법이다. ※ DI방법의 장.. 더보기