
오늘 학습한 내용
예외란
예외처리 방법
try-catch 사용
try
{
예외가 발생할수 있는 코드
}
catch(예외조건1)
{
// 예외조건1에 해당하는 예외처리
}
catch(예외초건2)
{
//예외조건2에 해당하는 에외처리
}
finally //종료
{
//예외 발생 여부와 상관없이 항상실행
}
값형
구조체
변수에 값을 직접 저장, 할당, 복사
참조형
클래스
참조(메모리주소)를 저장
c# 특강
메서드에 매개변수 초기화는 오른쪽부터
왼쪽에 하면 위의 변수가 어디에 들어가야 되는지 스크립트가 혼란을 일으킴
ref를 이용하면 값이 아니라 변수의 주소값을 전달
초기화에 new 를 사용하는 변수는 주소값을 넘겨줌, 참조로 값을 가지는것들
스택에서 주소값을 복사
List<> = new List<>
⬆️. . . . . . . . .⬆️
스택 . . . . . . ..힙
out 키워드
값을 반환하기 위한 전달 방법
전달할 변수는 메서드 내에서 반드시 초기화
메서드 외부에서 변수 초기화는 필수가 아님
소숫점 아래로 나눈 값이 나오게 하려면 받는 값중 하나를 float로 바꿔야 함
다음은 개인과제 작업이다.
오늘한 작업은 어제 피드백 받은 내용을 적용해보는 과정이었다.
어제 튜터님께 피드백 받은대로 상점 스크립트와 상점아이템 스크립트를 확실하게 역할을 분배하고, 상점 아이템에 대한 값을 저장하는 데이터베이스 스크립트를 생성했다. 이건 나중에 json 파일 등으로 바꿔서 사용해도 좋을거 같다.
그리고 특수 기믹인 합성 시스템을 살짝 손보았다. 합성시 출력되는 아이템의 이름을 변경할때 스크립트들을 모두 다 바꿔야 되는 문제가 있어서 상점 아이템 데이터베이스에 있는 관련 함수쪽에 public static string를 상해서 합성 결과 아이템을 다른 스크립트에서는 정보를 불러오게 수정했다. 만약 아이템의 이름을 변경할 일이 생긴다면, 이 부분만 수정하면 되서 딱이었다.
public static string SynthesisResultItemName = "aa";
이런식으로 작성해서 어디서든 불러서 사용할수 있게 작성했다.
오늘의 회고. 알고리즘... 이녀석 왜 이렇게 어려운걸까... 다시 한번 강의를 들으면서 문제를 풀어봐야겠다.