Print Friendly and PDF

유니티/패턴, 코드 및 이론 정리 5

[간단 정리] 가비지 컬랙션

가비지 컬랙션(GC)이란?- 프로그램에서 더 이상 사용하지 않는 메모리를 자동으로 찾아서 해제하는 메모리 관리 시스템- C#과 같은 언어에서 프로그래머 대신 메모리를 자동으로 관리 해주는 기능 가비지란?- 사용되지 않는(필요 없는) 메모리를 '가비지' 라고 부르며, 쉽게 말하면 '메모리 쓰레기'이다- 가비지 컬렉션은 쓰레기 수집이라는 뜻 예시void Example() { // 1. 메모리 할당 string name = "Hello"; // 2. 새로운 값 할당 name = "World"; // 이때 "Hello"는 더 이상 참조되지 않는 가비지가 됨 // 3. GC가 주기적으로 실행되어 "Hello" 문자열이 차지하던 메모리를 해제} 가비지가 발생..

[간단 정리] 다국어 처리

다국어 처리 방법- 각 나라별로 값을 나누어 아이디로 불러와 사용 처리 방법1. JSON으로 만든 파일을 가져와 통째로 파싱 후 사용하는 방법2. 각 필요한 나라의 언어만 가져와 파싱하여 처리 예시  팁- 언어가 들어간 이미지의 경우 최대한 사용을 자제하고 언어를 불러와 사용할 수 있도록 하는 것이 좋음왜? 나라별로 다르게 다 처리해줘야하기 때문, 아이디로 언어를 불러오면 쉽게 처리 가능

[간단 정리] JSON

JSON이란? - JavaScript Object Notation의 약자- 데이터를 쉽게 "교환" 하고 "저장" 하기 위한 텍스트 기반 데이터 교환 표준 유니티 사용처- 직렬화( Serializble )한 클래스를 만들고 JsonUtility.ToJson(), JsonUtility.FromJson()를 이용해 쉽게 파싱하거나 변환 가능 직렬화( Serializble )란?- 직렬화된 클래스를 스트링 객체로 만들기 위한 기능중 하나 예시#FromJson 사용법var userData = JsonUtility.FromJson(jsonData);#ToJson 사용법var jsonData = JsonUtility.ToJson(userData); 장점- 클래스를 생성한 후 하나하나 값을 넣는 방식으로 했을때 실수가..

[패턴] MVC, MVP, MVVM

MVC, MVP, MVVM 사용 목적 및 특징- UI와 로직의 분리가 목적인 패턴들- 불필요한 종속 관계를 줄일 수 있음- SoC(Separation of Concerns, 관심사 분리) 측면- Architecture Pattern(아키텍쳐 패턴)으로도 분류 - 잠재적 스파게티 코드 방지- 신입 프로그래머 혹은 지망생들에게 당장 쓰게 될 패턴 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡMVC(Model View Controller)란?- 소프트웨어의 논리적인 부분을 데이터와 프레젠테이션에서 분리, 불필요한 종속성과 스파게티 코드를 줄임 1. 모델- 값을 보관하는 데이터 컨테이너- 게임플레이 로직을 수행하거나 계산을 실행하지 않음 2. 뷰- 데이터를 사용하는 표시- 화면에 데이터의 그..

[코드] 유한 상태 머신

유한 상태 머신이란?- 시스템이 가질 수 있는 모든 상태를 정의하고, 각 상태 간의 전환 조건을 명확히 정의하는 패턴- '유한'하다는 것은 시스템이 가질 수 있는 상태의 개수가 제한적이라는 의미 핵심 구성 요소1. 상태- 게임 캐릭터의 idle, walk, run, jump 등 시스템이 가질 수 있는 특정 조건이나 상황 2. 전이- Space키를 누르면 idle에서 jump로 바뀌는 등 한 상태에서 다른 상태로 변화하는 조건 3. 이벤트- 키보드 입력, 타이머, 충돌 등 상태 전이를 촉발하는 트리거 4. 액션- 애니메이션 재생, 효과음 재생 등 상태 진입/퇴장시 실행하는 동작 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ장점1. 명확한 로직 구조- 상태와 전이가 명확히 정의되어 있어..