목록Programming (2)
Game Tech Blog
리플렉션 이란? C# 에서는 어플리케이션 실행 도중에 객체의 정보를 확인하기 위한 기능이다. 객체의 정보는 주로 메서드, 프로퍼티, 생성자등 인스턴스 데이터 타입 정보를 통칭한다. 예를들어, 내가 지금 제네릭 클래스를 원소로 List 등 자료구조를 사용하고 있을때, 내가 A 클래스를 쓰고 있는지 B 클래스를 쓰고 있는지 알 수 없는데, 리플렉션에 있는 GetType() 을 사용하면 내가 현재 쓰고 있는 클래스 형태를 알 수 있다. 그렇다면, 리플렉션은 어떻게 사용되어야 효율적인가? 런타임 시점에서 테스트 및 디버깅 목적으로 객체의 동작을 분석하거나, 테스트 용도로 사용되면 가장 베스트다. 이는 리플렉션은 테스트 용도로 사용하고 실제 프로그램 개발단에서는 리플렉션을 이용한 로직은 최대한 지양해야 한다는 의..
참조로 전달이란? 함수의 인자로 넘길때는 여러가지 방법이 있다. 1) 값으로 전달 2) 참조로 전달 C++ 로가면, Call by value, Call by reference, Call by Pointer 이렇게 얘기하는 부분들이 있는데, 쉽게 이야기하면 넘기기 직전의 값을 복사해서 값만 넘길 것이냐, 주소까지 완전 복사해서 이 인자를 수정하면 넘겼던 주체까지 수정될 수 있게 하느냐 그 차이다. C# 에서 값을 참조로 변경해서 넘기기 위해서는 out, ref 키워드를 정해서 작성해야 한다. 작성 예는 아래와 같다. public void Test_Func(ref int a){ a += 10; } static void Main(){ int test_A = 10; Test_Func(ref test_A); } ..