호빵의 IT 개발소

리플렉션(Reflection)이란? 본문

CS(전공지식)/기술면접 준비

리플렉션(Reflection)이란?

호빵Stack 2025. 4. 3. 19:20

리플렉션 (Reflection)

  • 리플렉션은 런타임에 객체의 타입, 메서드, 필드, 속성 등에 접근하거나 조작할 수 있는 기능.
  • 즉, 코드가 실행 중일 때 자기 자신 또는 다른 클래스의 구조를 검사하거나 수정할 수 있음.
  • C#에서는 System.Reflection 네임스페이스를 사용함.
  • 사용 예시: 동적 로딩, 의존성 주입, 속성(Attribute) 기반 자동 처리, 에디터 툴 개발, 스크립트 해석기

 

 

면접 스타일 답변 예시:

리플렉션은 프로그램 실행 중에 객체의 타입, 메서드, 필드 등에 동적으로 접근하거나 조작할 수 있는 기능입니다.
C#에서는 System.Reflection을 통해 타입 정보를 얻고 메서드를 호출하거나 속성 값을 읽고 쓸 수 있습니다.
이 기능은 특히 미리 타입을 알 수 없는 상황에서 유용합니다.
예를 들어 게임 서버에서 플러그인처럼 동적으로 로드되는 클래스들이 있을 때
리플렉션을 통해 해당 클래스의 메서드를 찾아 호출하거나 특정 Attribute가 달린 메서드만 자동으로 등록할 수 있습니다.
또한 Unity나 툴 개발에서도 인스펙터에 특정 필드를 자동으로 노출하거나
에디터에서 커스텀 데이터를 처리할 때 자주 사용됩니다.

'CS(전공지식) > 기술면접 준비' 카테고리의 다른 글

추상 클래스(abstract)란?  (0) 2025.04.03
한정자 ref란?  (0) 2025.04.03
이벤트(Event)란?  (0) 2025.04.03
오브젝트 풀링(Object Pooling)이란?  (0) 2025.04.03
상속 (Inheritance)이란?  (1) 2025.04.02
Comments