본문 바로가기
Unity/TIL

2주차 시작 +error

by 김차루 2024. 4. 22.

 

스파르타 내배캠 6일차 TIL
C2조_💖 코딩(인줄 알았지 하드코딩 이지롱)

 

 

2주차 시작

    대망의 강의 주차 시작. 이번 주부터 약 3주간 c# 문법에 대한 강의를 듣는다. 강의를 들으면서 개인 과제와 팀 과제를 수행해야 하므로 요번 팀은 첫 주와 다르게 오래 본다는 새로운 특징이 생겼다. 강의와 과제에 대한 발제가 끝나고 새로운 팀으로 모인 우린 (마이크 이슈가 있었지만) 순탄하게 SA를 작성하고 강의 듣기에 집중했다. 팀플이 아니어서 SA에 작성할 것도 많이 없었다. 

    c# 문법 종합반을 듣기 시작하고 현재까지 2-4까지 들은 상황이다. TIL에 오늘 공부한 내용을 적을 수 있지만 한 번 더 공부하여 내용 정리를 C# 카테고리에 따로 올리려고 한다. 그래서 앞으로 며칠은 발생한 에러와 해결책에 대해 포스팅할 예정이다.

 

마주한 오류

1. Console.ReadLine() 에러

int age = Console.ReadLine();
//암시적으로 'string'형식을 'int'형식으로 변환할 수 없습니다.

//수정
int age = int.Parse(Console.ReadLine());

    위의 코드는 주석과 같은 오류가 난다.  그 이유는 ReadLine으로 받아오는 변수가 string라서 그렇다. 그래서 항상 그 점을 인식하고 필요한 타입으로 Parse 해야 한다.

2.  구조체 에러

struct Player
{
    public int level;
    public string name;
    public int power;
    public int defense;
    public int health;
    public int gold;
};

    해당 에러는 구조체의 단점에서 발생한 것이었다. 구조체 형식은 데이터와 관련 기능을 캡슐화할 수 있는 값 형식이다. 구조체 형식은 struct 키워드를 사용하여 정의한다. class와 다른 점은 상속에 대한 처리 및 그 사용성이 있고 타입에 따른 메모리 할당 방식에서 가장 큰 차이가 있다. 하지만 구조체는 값 형식이기 때문에 값을 꼭 할당해 줘야 한다. 나 같은 경우도 값을 할당하지 않고 오류를 해결하려 해서 시간 낭비를 하게 됐다. 구조체에서 값을 넣어줘도 되고 아니면 따로 생성자를 만들어서 할당해도 된다. 작업 중인 콘솔_RPG에서는 플레이어가 처음 캐릭터를 생성할 때 할당해서 사용하게끔 만들면 될 것 같다. 

 

마무리하며

    오랜만에 듣는 문법 강의인 만큼 오늘 엄청 지루하고 졸리기도 한 날이었다. 하지만 기초 문법이 얼마나 중요한지 알기 때문에 내일부터는 새로운 마음가짐으로 정신 바짝 차리고 들어야 할 것 같다. 봄이어서, .... 라는 핑계를 대고 싶지만, 확실히 그건 아니라는 것을 알기 때문에... 

 

 

'Unity > TIL' 카테고리의 다른 글

개인 과제 작업_TextRPG  (0) 2024.04.24
Visual Studio C# 프로젝트 열기  (0) 2024.04.23
시작이 반이다! 팀의 최종 마무리  (1) 2024.04.19
내용 없는 TIL  (1) 2024.04.18
간단한 게임 레벨, 해금 시스템  (0) 2024.04.17