프로그래밍/공부

    [C#] enum의 Flag 연산 정리!

    docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/enum 열거형 - C# 참조 선택 또는 선택의 조합을 나타내는 C# 열거형에 대해 알아봅니다 docs.microsoft.com Enumeration types (enum type)은 각 비트마다 enum이 하나씩 들어가게끔 설정하여 bit array를 사용하듯 사용할 수 있다 열거형을 비트 필드 즉, 플래그 집합으로 처리할 수 있음을 나타내기 위해 [Flags]를 적용시킨다 [Flags]를 사용하면 두 속성을 하나의 변수에 담는 것이 가능해진다 [Flags] public enum Column { None = 0, Up = 1

    유니티의 Null Check에 관해

    유니티 오브젝트는 C++로 작성된 네이티브 객체의 래퍼입니다. 이 네이티브 객체는 씬 변경 또는 Object.Destroy()를 사용하면 제거됩니다. 이 네이티브 객체를 C#으로 래핑한 유니티 오브젝트는 가비지 컬렉터가 수집을 완료할 때까지 남아있게 됩니다. 이 상태를 유니티에선 "Fake Null"이라고 합니다. 이러한 이유로 UnityEngine.Object 클래스에선 같음 연사자(==, !=)를 오버로딩하여 네이티브 객체의 존재 여부까지 판단해서 비교한 후 결과를 돌려줍니다만 여기서 두가지 문제가 발생합니다. 1. 닷넷의 기본 오브젝트로 보았을 때와 결과가 일치하지 않는 문제 2. 네이티브 리소스가 남아있는지 체크하는 과정에서 비용이 소모되는 문제 단순한 캐싱이나 생성된 이후에는 파괴되지 않을 싱글..

    객체지향의 사실과 오해_00

    ☆공부한 내용☆ 객체, 상태, 행동 중 상태에 관하여 -과거에 발생한 행동의 이력을 통해 현재 발생한 행동의 결과를 판단하는 방식은 복잡하고 번거로우며 이해하기 어렵다. -> 행동의 과정, 결과를 기술하기 위해 상태라는 개념을 만들었다. ex) 항공권의 발권 상태를 보고 비행기 탑승 가능 여부 예측가능 자판기는 현재까지 투입된 금액의 상태를 기억함 텔레비전 전원이 들어온 상태여야만 채널변경 가능 -> 상태 이용 시 과거의 모든 행동 이력을 설명하지 않고도 행동의 결과를 쉽게 예측 가능 객체의 상태 = 값 + 객체의 조합 객체의 상태를 구성하는 모든 특징 = 객체의 프로퍼티(property) ex) 앨리스의 키, 위치, 음료 일반적으로 프로퍼티는 변경되지 않고 고정되기 때문에 '정적' 프로퍼티 값(prop..