클래스

    C# static (정적) 메서드와 클래스

    1. C# static 메서드 정적(Static) 메서드는 인스턴스 메서드와는 달리 클래스로부터 객체를 생성하지 않고 직접 [클래스명.메서드명] 형식으로 호출하는 메서드이다. 이 메서드는 메서드 앞에 static 이라는 C# 키워드를 적어 주며, 메서드 내부에서 클래스의 인스턴스 객체 멤버를 참조해서는 안된다. 이 static 메서드는 인스턴스 객체로부터 호출될 수 없으며, 반드시 클래스명과 함께 사용된다. 2. C# static 속성, 필드 정적(Static) 속성 및 필드는 위의 static 메서드와 같이 [클래스명.속성명]과 같이 사용하며, 다음 예와 같이 static을 앞에 붙여 정의한다. 클래스 내의 Non-static 필드들은 클래스 인스턴트를 생성할 때마다 메모리에 매번 새로 생성되게 되는 ..

    C++ virtual 다중 상속, 가상 부모 클래스

    다중 상속을 할 시 예상치 못하게 클래스가 중복될 가능성이 있다. class A { public: int a; }; class B : public A { public: int b; }; class C : public A { public: int c; }; class D : public B, public C { public: int d; }; A 클래스를 B, C 클래스가 상속받고 B, C 클래스를 D클래스가 상속받는 구조다. 문제는 이와같은 구조로 상속받을 때 A클래스의 내용물이 중복이 된다 하지만 중복되는 걸 희망하지 않을 때는 virtual 상속을 사용하면 된다. 클래스를 상속받을 때 상속받는 클래스에 virtual 을 앞에 붙여주면 된다 그렇게 되면, B, C 클래스를 상속받는 경우 B, C 클래스..

    OOP

    OOP란?? (Object Oriented Programming) C++는 객체지향 언어이고 해당 언어를 OOP라고 부르며 Object Oriented Programming의 약자다. 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. Class (클래스) / Object (객체) Abstraction (추상화) Encapsulation (캡슐화) Inheritance (상속성) Polymorphism (다형성) 장점 코드 재사용이 용이 (남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있다.) 유지보수가 쉬움 (절차 지향 프로그래밍에서..

    C++ 유니폼 초기화와 생성자

    C++11에 유니폼 초기화가 추가되었다. {}를 이용한 초기화여서 Brace-Initialization 이라고도 부른다. struct A { int x, y; }; class B { public: B(int x, int y) : mX(x), mY(y) {} private: int mX, mY; }; A a = {10, 20};// {} B b(10, 20);// () int c[4] = {1, 2, 3, 4};// {} C++11에서는 이 부분을 모두 {}를 이용하는 유니폼 초기화로 문법을 통일시켰다, =을 붙이거나 붙이지 않거나 모두 유니폼 초기화를 사용할 수 있다. A a1 = {10, 20}; B b1 = {10, 20}; A a2{10, 20}; B b2{10, 20}; 유니폼 초기화는 일반 자료..

    [Unreal] 클래스 생성 시 소스 파일 기본 주석 제거

    클래스 생성 시 헤더 파일과 cpp파일이 아래와 같이 생성된다, 하지만 매번 주석 지우는건 되게 귀찮은 작업이다. 아래 경로를 통해 .h.template 파일과 .cpp.template 파일을 찾는다. 적당하게 메모장으로 옮겨 지울 주석을 찾아본다.