VanQussong
'Unreal' 카테고리의 글 목록 (2 Page)

Unreal

Unreal/Inflearn

Part1.9 언리얼 C++ 설계 Ⅲ - 델리게이트(Delegate)⭕

강의 목표 : 모던 객체지향 설계에서 느슨한 결합의 장점 이해하기느슨한 결합을 편리하게 구현하도록 도와주는 델리게이트 이해하기발행/구독 디자인 패턴 이해하고 구현해보기강의 내용 :언리얼 델리게이트를 사용해 클래스 간의 느슨한 결합을 구현느슨한 결합이 가지는 장점 : 시스템 변경 사항에 대해 손쉽게 대처할 수 있음느슨한 결합으로 구현된 발행/구독 모델의 장점 언리얼 C++ 델리게이트의 선언 방법과 활용 [ ✔️강한 결합과 느슨한 결합 ]강한 결합 (Tight Coupling) : 클래스들이 서로 의존성을 가지는 경우를 의미함느슨한 결합 (Loose Coupling) : 실물에 의존하지 말고 추상적 설계에 의존하라 (DIP 원칙)ex)Person은 카드를 소유하고 카드를 통해서 출입한다.왼쪽의 경우 Pers..

Unreal/Inflearn

Part1.8 언리얼 C++ 설계 Ⅱ - 컴포지션⭕

강의 목표 : 언리얼 C++ 만의 컴포지션 기법을 사용해 복잡한 언리얼 오브젝트를 효과적으로 생성하는 방법 학습 "컴포지션 기법"을 사용해 오브젝트의 포함 관계를 설계하는 방법 학습 "확장 열거형 타입"의 선언과 활용 방법의 학습 강의 내용 : 컴포지션을 구현하는 독특한 패턴에 대해 학습 클래스 기본 객체를 생성하는 생성자 코드를 사용해 복잡한 언리얼 오브젝트를 생성 확장 열거형을 사용해 다양한 메타 정보를 넣고 활용할 수 있다. 컴포지션 기법은 게임의 복잡한 객체를 설계하고 생성할 때 유용하게 사용된다. [ ✔️컴포지션 Composition ] 📍컴포지션? : 객체 지향의 설계는 크게 "상속"과 "컴포지션"으로 요약할 수 있다. 상속은 성질이 같은 부모-자식 클래스의 관계를 의미하는 Is-A 관계 컴포..

Unreal/Inflearn

Part1.7 언리얼 C++ 설계 Ⅰ - 인터페이스⭕

강의 목표 : 언리얼 C+ 인터페이스 클래스를 사용해 보다 안정적으로 클래스를 설계하는 기법의 학습 강의 내용 : 클래스가 반드시 구현해야 하는 기능을 지정하는데 사용되는 인터페이스 언리얼 C++ 인터페이스는 두 개의 클래스를 생성한다. 언리얼 C++ 인터페이스는 추상 타입으로 강제되지 않고, 내부에 기본 함수를 구현할 수 있다. [ ✔️인터페이스 ] 📍인터페이스란? : 모던 객체지향 설계에 사용되는 타입 객체를 설계한 클래스가 반드시 구현해야 할 행동을 지정하는데 활용된다. "다형성(Polymorphism)" 의 구현, 의존성이 "분리(Decouple)" 된 설계에 유용하게 활용 C++은 기본적으로 다중상속을 지원하지만, 언리얼 C++의 인터페이스를 사용해 가급적 축소된 다중상속의 형태로 구현하는 것이..

Unreal/Inflearn

Part1.6 언리얼 오브젝트 리플렉션 시스템 Ⅱ⭕

강의 목표 : 언리얼 오브젝트 리플렉션 시스템의 활용 강의 내용 : 언리얼 리플렉션 시스템을 사용해 언리얼 오브젝트의 특정 속성과 함수를 이름으로 검색할 수 있다. 리플렉션 시스템을 사용해 접근 지시자와 무관하게 값을 설정할 수 있다. 리플렉션 시스템을 사용해 언리얼 오브젝트의 함수를 호출할 수 있다. [ ✔️실습 : 리플렉션 시스템 ] 📍실습 : 실습 예제 구성 : 학교에서 학생과 선생이 수업 하는 것을 기본 전재로 한다. 각 클래스의 내부적인 구조는 아래와 같다. 실습 코드 : // UObject 객체 생성 UStudent* Student = NewObject(); UTeacher* Teacher = NewObject(); Student->SetName(TEXT("학생1")); UE_LOG(LogTe..

Unreal/Inflearn

Part1.5 언리얼 오브젝트 리플렉션 시스템 Ⅰ⭕

강의 목표 : 언리얼 오브젝트의 특징과 리플렉션 시스템의 설명 언리얼 오브벡트의 처리 방식의 이해 강의 내용 : 언리얼 오브젝트에는 항상 클래스 정보를 담은 UClass 객체가 매칭되어 있다. UClass로부터 언리얼 오브젝트의 정보를 파악할 수 있다. UClass에는 "클래스 기본 오브젝트(CDO)"가 연결되어 있어 이를 활용해 개발의 생산성을 향상시킬 수 있다. 클래스 정보와 CDO는 엔진 초기화 과정에서 생성되기에 게임 개발에서 안전하게 사용 가능 헤더 정보를 변경하거나 생성자 정보를 변경하면 언리얼 에디터를 끄고 컴파일하는 것이 안정적임 [ ✔️리플렉션 시스템 ] refer : https://www.unrealengine.com/ko/blog/unreal-property-system-reflect..