스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록

2024.06.11 TIL - 직렬화 및 파일 입출력, 데이터 관리 특강 정리

테크러너 2024. 6. 11.

직렬화란?

객체의 직렬화는 객체의 내용을 바이트 단위로 변환하여 파일 또는 네트워크를 통해서 스트림(송수신)이 가능하도록 하는 것을 의미한다.

한마디로 우리가 알아볼수 있는 문자로 표현한다는 뜻

 

직렬화의 종류 (CSV)

-csv(comma-separated values)

ex) idx,name,level,atk,def,hp

      0,스타르타,3,4,4,30

row는 엔터로 구분 column은 comma로 구분

 

직렬화의 종류 (XML)

-XML(eXtensible Markup Language)

Android Manifest도 xml

 

직렬화의 종류 (YAML)

-YAML(yet another markup language or YAML ain’t markup language)

 

 

 

직렬화의 종류 (Scriptable Object)

 

 

직렬화의 종류 (JSON)

-JSON(JavaScript Object Notation)

 

 

JSON이 왜 메이저가 되었는가

다른 직렬화는 각각의 클래스의 구조에 맞춰 사용하는 방법이 달라져 계속되는 재작업을 요구하지만, json은 유니티에서 제공해주는 컨버터에서 직렬화 및 역직렬화로 string <-> class 변환이 쉽게 된다는 장점이 있다.

이건 유니티의 이야기이고 서버에서 사용할때는 완전 상황이 다름

 

 

 

파일입출력

작성된 정보(byte, string)를 저장(출력)하거나

저장된 데이터를 불러오는(입력) 행위

 

파일입출력 종류

C# 제공 라이브러리

-File.WriteAllByte
-File.ReadAllByte
-File.WriteAllText
-File.ReadAllText
 

UnityEditor 전용 라이브러리

-AssetDatabase.LoadAssetPath
-AssetDatabase.CreateAsset
-AssetDatabase.Refresh

 

반응형

댓글