관리 메뉴

有希

5. 리플렉션과 성능 문제 본문

프로그래밍/Spring4

5. 리플렉션과 성능 문제

有希. 2022. 3. 14. 23:38

리플렉션? Runtime 중에 Class 클래스로부터 다른 클래스의 정보를 취득하거나 인스턴스를 생성하는 것.

Class 클래스는 또 머여? 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일로 생성된다. class 파일에는 멤버변수, 메소드, 생성자 등 객체의 정보가 포함되어 잇는데, Class 클래스는 이 class파일에서 객체에 정보를 가져올 수 있다.

여담) 1년 정도 전에 외국 회사의 서류를 뚫고(!) 면접을 봤었는데 거기서 리플레션이 뭔지 아냐, 써봤냐에 대해 물어봤다. C++, nodejs를 만지적거리던 나는 당연히 몰랐고 이어지는 Iaas, Paas, Saas 등의 질문에 박살이 났고 떨어졌다 -_-...


DI컨테이너가 리플렉션을 이용해 인스턴스를 생성하면 그에 따른 성능 저하?를 생각해 볼 수 있다. 리플렉션은 대체로 어느 시스템에서나 사용하고, 리플렉션의 과다 사용이 성능에 큰 문제가 되지는 않는다고 한다.

오히려, DB쪽이 대충 해버리면 훨씬 심각하고 큰 문제가 된다고 한다.

'프로그래밍 > Spring4' 카테고리의 다른 글

4. 생명 주기 관리  (0) 2022.03.14
3. @Component  (0) 2022.03.14
2. @Autowired  (0) 2022.03.14
1. service, dao 개념  (0) 2022.03.13