오늘은 배치고사로 인해 팀 프로젝트보다는 이쪽으로 치중한 하루였다.
기능 구현들은 거의 다 완성된 상태이니 리팩토링이나 사소한 수정 부분을 제외하면 남은 것이 없었기에 개인 공부에 시간을 투자했고, 그 과정 중 하나가 과거에 배웠던 내용을 복습하는 것이었다.
어제 잠을 덜 자서 그런지 복습양이 많지는 않았지만 잊고 있었던 부분을 다시 돌아보게하는 시간이었다.
✅ 디자인 패턴
🔹 싱글턴(Singleton)
- 하나의 인스턴스만 존재해야 하는 경우 사용.
- 생성자 private, static 멤버 함수로 접근.
- inline static (C++17 이후)으로 멤버 변수 정의 가능.
- 구현 방식
- 지역 static 변수: 첫 호출 시 생성.
- 동적 할당 시 atexit()으로 소멸자 등록 가능.
- 주의사항
- 정적 멤버 변수 간 초기화 순서, 파괴 순서 보장 어려움.
- 멀티스레드 환경에선 동기화 필요.
🔹 커맨드 패턴(Command Pattern)
- 명령(Command), 수신자(Receiver), 발동자(Invoker), 클라이언트(Client)로 구성.
- 비동기 명령 처리 시 유용 → 큐에 명령 객체를 담아 실행.
- 명령은 추상 클래스에서 파생된 다형성 구조로 구현.
✅ 소프트웨어 구조 및 객체지향
🔹 유닛 클래스 구조
- 다형성을 활용해 각기 다른 유닛도 동일한 방식으로 동작 처리.
- 클래스는 역할보단 능력치 차이만 강조.
🔹 Scene 객체
- 화면 배치 역할만 수행하는 데이터 껍데기.
- 실제 액션은 별도의 매니저가 처리.
🔹 Don't Destroy 객체
- 게임 전체에서 유지되어야 할 정보를 보관하는 객체.
- 씬 전환 시에도 파괴되지 않음.
✅ 게임 설계 방식
🔹 DOD (Data-Oriented Design)
- CPU 캐시 효율을 고려한 구조체 중심의 설계.
- 성능 최적화에 유리하지만, 설계 및 유지보수는 어려움.
✅ 윈도우 API 및 문자열 처리
🔹 그래픽 테스트용 윈도우 API 사용
- 콘솔 기반 테스트 외에 윈도우 창 기반 그래픽 출력 실습.
🔹 유니코드 및 인코딩
- 유니코드는 기본적으로 2byte 단위지만, BOM 포함 여부 주의.
- 웹 서버(Apache 등)에서는 BOM이 문제를 일으킬 수 있음.
🔹 문자열 함수 종류
- W: 유니코드(와이드), A: ANSI, T: 중립형
- 현대 환경에서는 W 계열 사용 권장.
'[내일배움캠프 Unity 9기]' 카테고리의 다른 글
| 04/28 TIL - 복습내용(시간 기반 서버 루프 / 메모리 디버깅) (0) | 2025.04.28 |
|---|---|
| 04/25 복습내용 (0) | 2025.04.25 |
| 04/23 TIL 인터페이스 클래스의 json 직렬화/역직렬화 (0) | 2025.04.23 |
| 04/22 TIL (0) | 2025.04.22 |
| 04/21 TIL 클래스 인터페이스, 이벤트 방식 고민 (0) | 2025.04.21 |