목록CODE (4)
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); } ..
코딩테스트에 사용하기 위해 공부하고 있는 언어는 C++ 이다. 제대로 처음 했을때 공부했던 언어가 다이렉트X를 다루기 위한 C++ 이기도 했고, 더 성장하기 위해선 Unity 도 좋지만 Unreal 도 충분히 매력적인 엔진이라고 생각하여 선택했다. [Split] -> C++ 에는 다른 많은 함수들이 제공된다고 들었으나, Split에 관해서는 커스텀으로 만들어야 한다는 강의 내용이 있어서 작성해보았다. 초안 작성 후 버그나는 부분들은 참고했으니 거의 교안과 동일하다. #include #include #include #include #include #include using namespace std; class Functions { public:vector Split(string s, string delim..
접근제어자 Public 과 ... 들 - 변수의 선언에는 외부에서 참조할 수 있는 Public, Protected, Private 등을 같이 사용할 수 있다. 단, Public 과 같이 어디에서나 참조할 수 있도록 제어를 풀게되면, 데이터는 무분별한 곳에서 오염(변경)될 가능성이 높다. Public 대신 Get(), Set() - 내가 C++을 사용할 때는 따로 프로퍼티라는 개념이 없었고, Private 한 변수들을 선언한 후, 접근할 수 있도록 Get(),Set() 메소드 들을 따로 작성해서 세팅하고, 사용했다. ex) class TestCode { private int x, y; public int GetX() { return x; } public int GetY() { return y; } publ..