내일배움캠프

내일배움캠프 Unity - TIL : 25.01.31

달시_Dalsi 2025. 1. 31. 20:22
728x90

 

오늘 학습한 내용

1) 문자열 정렬 및 출력 형식 지정 (PadRight, 서식 문자열 사용법)

PadRight(너비값)를 활용하여 문자열의 길이를 일정하게 맞추어 출력하는 방법을 학습하였습니다.
또한 {텍스트, -+숫자}와 같은 서식 지정자를 사용하여 값을 정렬하고, 가독성을 높이는 방법을 익혔습니다.

 

한줄에 들어가는 내용의 길이 다름에도 ❘ 위치는 동일하다.

 

 

2) 추상 클래스(JSON 직렬화 문제 해결)

추상 클래스를 JSON에 저장하려고 시도했으나 직렬화 과정에서 오류가 발생하였습니다.
이는 JSON 직렬화 시 추상 클래스는 직접 인스턴스화할 수 없기 때문에 생기는 문제임을 확인하였습니다.

 

 


문제 및 해결 과정

1) 문제 (문자열 정렬 및 출력 형식 지정)

PadRight 또는 서식 지정자를 사용하지 않으면 텍스트 출력 내용의 길이가 달라져 정렬이 흐트러짐을 확인하였습니다.

 

시도한 해결 방법

  • PadRight(), PadLeft()등을 사용하여 문자열의 길이를 맞췄습니다.
  • {텍스트, -숫자} 형태의 서식 지정자를 활용하여 숫자를 오른쪽 또는 왼쪽 정렬했습니다.

결과

가독성이 높은 출력 방식을 구현할 수 있었으며 내용이 바뀌어도 데이터 정렬이 유지되었습니다.

 

 

2) 문제 (추상 클래스를 JSON에 저장하려다 직렬화 오류 발생)

추상 클래스는 인스턴스화할 수 없기 때문에 JSON 직렬화 시 오류가 발생하였습니다.

 

시도한 해결 방법

  • 추상 클래스에 속성[JsonConverter]을 추가하는 방법을 사용했습니다.
  • 기본 직렬화 방식 대신 TypeNameHandling 옵션을 사용하여 직렬화 및 역직렬화 가능하도록 설정했습니다.

결과

추상 클래스를 직접 JSON에 저장하는 것이 불가능하며, 이를 해결하려면 클래스로 변환하거나 별도의 직렬화 설정이 필요함을 알게 되었습니다. 

 


새롭게 알게 된 점

문자열 정렬 및 출력 형식의 중요성

문자열 출력 시 PadRight, 서식 지정자를 활용하면 출력시 정렬이되며 가독성이 향상된다는 것을 배웠습니다.

 

추상 클래스의 JSON 직렬화 문제

추상 클래스는 직접 직렬화할 수 없으며, JSON으로 저장하려면 클래스로 변환하거나 직렬화 설정을 추가해야 함을 확인했습니다. 이를 통해 Json 저장방식에 대해 조금 더 알게 되었습니다.


앞으로의 계획

오늘 작업으로 개인 과제의 상점 기능과 던전 관련 기능을 제외한 대부분이 구현을 완료했습니다. 따라서 주말에는 우선 요구사항을 완료한 후, 시간이 남으면 필수 및 도전 요구사항을 제외한 추가 기능을 구현하여 과제의 볼륨을 확장할 계획입니다.

728x90