有希
5. 리플렉션과 성능 문제 본문
리플렉션? 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 |