reflection1 17. 자바 리플렉션(reflection)이란 무엇인가? 자바 가상 머신(JVM)은 클래스 정보를 클래스 로더를 통해 읽어와 해당 정보를 JVM 메모리에 올린다. 해당 클래스의 정보를 담은 Class 타입의 객체를 생성하여 메모리의 Heap 영역에 저장해 두게 된다. ava에서는 이렇게 만들어진 Class 타입의 객체를 통해 구체적인 클래스 타입을 알지 못해도 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 하는 자바 API를 제공하게 된다. 저장된 클래스 정보는 마치 클래스를 거울 앞에 데려가 그 모습을 보여주는 것과 닮아, Reflection이라는 이름을 가지게 되었다. 한가지 특이한 점은 리플렉션은 접근 제어자와는 무관하게 클래스의 필드나 메서드를 호출할 수도 있다. 자바에 그런 것도 있었나? 사실 알게 모르게 우리는 Reflection을 사용하고.. 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 9. 26. 이전 1 다음