유니티

패스트캠퍼스 환급챌린지 24일차 : 한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지 강의 후기

hokim 2025. 12. 5. 20:02

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://fastcampus.info/4oKQD6b

 

 

 

학습시작
학습 종료
수강인증
학습인증샷

 

오늘은 디자인패턴에 관한 내용을 들었다. 

싱글톤하고 오브젝트 풀에 대한 내용이었는데 복습 겸으로 열심히 들었다.

 

MVC 패턴과 디자인패턴

  • ui 버튼 제작시 필요한 것
    • 버튼 디자인
    • 눌렀을때 동작
    • 동작시 필요한 데이터
  • MVC 패턴
    • 프로그램을 짤 때 모델/뷰/컨트롤러로 나눠서 짜는게 효율적이라고 주장하는 패턴
      • 모델: 데이터
      • 뷰: 디자인
      • 컨트롤러: 동작
    • 이렇게 분리하면 재사용성을 높일 수 있다.

디자인 패턴이 필요한 순간

  • 메모리사용을 최소화해야할 경우와 같은 게임성능 최적화
  • 게임 출시 이후 콘텐츠 추가 등 확장성 고려해야하는 경우
  • 아바타 커스터마이징/커스텀 ui 등 재사용을 위한 게임 기능별 모듈화를 고려해야 하는 경우

싱글톤 패턴

  • 특정 오브젝트를 게임이 실행되는동안 하나로 유지시키는 구조
  • 게임이 실행되는 과정에서 객체가 하나로 유지되어야 하는 상황에 사용
  • 동일한 클래스를 가진 객체가 중복생성되지 않도록 처리
  • 하나의 객체가 게임의 전반적인 상태 관리 및 씬 전환 처리
  • 싱글톤 객체는 static 변수로 참조값을 할당해 모든 객체가 쉽게 접근 가능
  • DontDestroyOnLoad()로 다른 씬에서도 동일한 객체 유지
  • 씬과 씬 사이에 데이터를 공유할 수 있는 용도로 사용

오브젝트 풀 패턴

  • 반복적으로 사용되는 오브젝트들을 Pool에 저장하고 있으면서 필요한 순간 사용, 불필요해지면 다시 pool에 반환
  • 오브젝트 생성 과정을 줄여 성능 향상
  • 불필요한 메모리 사용을 줄여 메모리 관리 효율화
  • 가비지 컬렉션 부하 줄임
  • 관리할 오브젝트가 필요이상으로 많으면 메모리 낭비 발생

 

대부분 아는 내용이었는데, 이번에 프로빌더 사용법을 많이 배운 것 같다. 근데 듣고나니까 딱히 복습이 막 필요하지는 않은 것 같아서 다음 강의인 상태 패턴이론은 건너 뛰고 옵저버 패턴부터 들으려고 한다. 그리고 unirx는 처음 들어봤는데, 검색해보니까 개발 편하게 할 수 있게 도와주는 라이브러리 같다. 내용이 좀 길긴 한데 얻을 게 많을 것 같다.