안녕하세요!
오늘도 게임개발자가 되기위해 공부하고 있는 구구입니다.
오늘은 갓생살기 18일차가 되는날입니다.
오늘도 어제에 이어 C#의 데이터에 대해 알아보도록 하겠습니다.
오늘은 객체 데이터 형태인 object에 대해 알아보도록 하겠습니다.
이 데이터의 특징은 어떤 데이터 형이든 모두 처리가 가능하다는 장점이 있습니다.
또한 나중에 배우게 될 클래스에 상속이 적용된다는 점이 있습니다.
위에서
a는 int형
b는 float형(뒤에 f가 붙은걸 보니 유추할 수 있음)
c는 decimal형
d와 e는 char형
f는 string형
g는 bool형
이라는 것을 알 수 있습니다.
그런데 object의 경우 이러한 자료형들의 상위 자료형이기 때문에 모두 다 포함할 수 있고 출력시도
잘 나오게 됩니다.
즉, 여기서 우리는 object의 데이터형은 어떠한 데이터형이든 다 받을 수 있다는 점과 저장된 내용을
출력하는것도 다른 데이터형들과 동일하다는 점을 알 수 있습니다.
그 다음은 enum형에 대해 알아보도록 하겠습니다.
열거형 데이터 형태이고 쓰는 형식은
enum 식별자(이름)
과 같은 형태로 사용합니다.
예를 들어보겠습니다.
enum DAY_OF_WEEK
{
SUN,
MON,
TUE,
WED,
THU,
FRI,
SAT
}
위 자료형은 코드를 짤때 가독성을 올려준다는 장점이 있습니다.
다음과 같이 코딩했을때 아래의 출력 시 (int)DAY_OF_WEEK.SUN 과 같이 int형으로 바꾸는 작업을 취했는데
이때 enum형을 쓸때는 자동으로 첫번째 데이터부터 0 부터 끝에있는 데이터까지 번호를 매기기 때문에
int형으로 바꿔서 출력시 숫자 0부터 차례대로 출력이 됩니다.
만약 이 enum 자료형이 게임개발에 쓰인다면 어떤 식으로 쓰이게될지 한번 예시를 들어보도록 하겠습니다.
위처럼 캐릭터 상태가 있고 클릭시 바뀌게 되는 상태가 있어서 그에따른 숫자값도 매기는 등과 같이 enum 데이터형을
이용해서 표현할 수 있음을 알 수 있습니다.
마지막으로 nullable형식에 대해 알아보고 마무리하도록 하겠습니다.
기존 데이터형의 값 + null값 저장이 가능합니다.
즉, 기존의 데이터형의 값 뿐만아니라 null이라는 값도 저장이 가능하다는 뜻입니다.
그리고 HasValue, Value라는 예약어를 사용할 수 있습니다.
사용하는 방법은
데이터자료형? 식별자
의 형식입니다. ex)int? num = 100;
단순히 이렇게만 보면 이해하기 어렵기 때문에 코드를 보면서 더 이야기하도록 하겠습니다.
위처럼 int? c = num; 도 가능하지만 int? c = null; 도 가능하고 만약 null을 넣었다면
c가 출력될때는 아무값도 표기되지 않을 것입니다.
또 HasValue라는 값을 통해서 값이 있는지 없는지 확인할 수 있습니다.
즉, 값이 있다면 True가 나오고 값이 없다면 False가 나오게 됩니다.
오늘은 여기까지 하도록 하겠습니다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'게임 개발 공부 > 패스트 캠퍼스 이벤트' 카테고리의 다른 글
패스트캠퍼스 챌린지 20일차 (0) | 2021.11.20 |
---|---|
패스트캠퍼스 챌린지 19일차 (0) | 2021.11.19 |
패스트캠퍼스 챌린지 17일차 (0) | 2021.11.17 |
패스트캠퍼스 챌린지 16일차 (0) | 2021.11.16 |
패스트캠퍼스 챌린지 15일차 (0) | 2021.11.15 |
댓글