오늘 학습한 내용
1) 문자열 정렬 및 출력 형식 지정 (PadRight, 서식 문자열 사용법)
PadRight(너비값)를 활용하여 문자열의 길이를 일정하게 맞추어 출력하는 방법을 학습하였습니다.
또한 {텍스트, -+숫자}와 같은 서식 지정자를 사용하여 값을 정렬하고, 가독성을 높이는 방법을 익혔습니다.
2) 추상 클래스(JSON 직렬화 문제 해결)
추상 클래스를 JSON에 저장하려고 시도했으나 직렬화 과정에서 오류가 발생하였습니다.
이는 JSON 직렬화 시 추상 클래스는 직접 인스턴스화할 수 없기 때문에 생기는 문제임을 확인하였습니다.
문제 및 해결 과정
1) 문제 (문자열 정렬 및 출력 형식 지정)
PadRight 또는 서식 지정자를 사용하지 않으면 텍스트 출력 내용의 길이가 달라져 정렬이 흐트러짐을 확인하였습니다.
시도한 해결 방법
- PadRight(), PadLeft()등을 사용하여 문자열의 길이를 맞췄습니다.
- {텍스트, -숫자} 형태의 서식 지정자를 활용하여 숫자를 오른쪽 또는 왼쪽 정렬했습니다.
결과
가독성이 높은 출력 방식을 구현할 수 있었으며 내용이 바뀌어도 데이터 정렬이 유지되었습니다.
2) 문제 (추상 클래스를 JSON에 저장하려다 직렬화 오류 발생)
추상 클래스는 인스턴스화할 수 없기 때문에 JSON 직렬화 시 오류가 발생하였습니다.
시도한 해결 방법
- 추상 클래스에 속성[JsonConverter]을 추가하는 방법을 사용했습니다.
- 기본 직렬화 방식 대신 TypeNameHandling 옵션을 사용하여 직렬화 및 역직렬화 가능하도록 설정했습니다.
결과
추상 클래스를 직접 JSON에 저장하는 것이 불가능하며, 이를 해결하려면 클래스로 변환하거나 별도의 직렬화 설정이 필요함을 알게 되었습니다.
새롭게 알게 된 점
문자열 정렬 및 출력 형식의 중요성
문자열 출력 시 PadRight, 서식 지정자를 활용하면 출력시 정렬이되며 가독성이 향상된다는 것을 배웠습니다.
추상 클래스의 JSON 직렬화 문제
추상 클래스는 직접 직렬화할 수 없으며, JSON으로 저장하려면 클래스로 변환하거나 직렬화 설정을 추가해야 함을 확인했습니다. 이를 통해 Json 저장방식에 대해 조금 더 알게 되었습니다.
앞으로의 계획
오늘 작업으로 개인 과제의 상점 기능과 던전 관련 기능을 제외한 대부분이 구현을 완료했습니다. 따라서 주말에는 우선 요구사항을 완료한 후, 시간이 남으면 필수 및 도전 요구사항을 제외한 추가 기능을 구현하여 과제의 볼륨을 확장할 계획입니다.
'내일배움캠프' 카테고리의 다른 글
내일배움캠프 Unity - TIL : 25.02.04 (0) | 2025.02.04 |
---|---|
내일배움캠프 Unity - TIL : 25.02.03 (0) | 2025.02.03 |
내일배움캠프 Unity - TIL : 25.01.29 (0) | 2025.01.30 |
내일배움캠프 Unity - TIL : 25.01.27 (0) | 2025.01.27 |
내일배움캠프 Unity - TIL : 25.01.24 (0) | 2025.01.24 |