728x90
반응형
전 시간에는 문자형 기본 타입에 대해 알아보았다.
문자형 기본타입 복습은 아래 링크를 참조하면 되고
이번에는 형변환에 대해 알아보자.
https://ttleader.tistory.com/115?category=1053713
c#에서 자료형 변수를 선언해서 사용하다보면 숫자형 변수를 문자형에 대입해야 하는 경우도 있고
반대로 문자형을 숫자형에 대입하는 경우도 있다.
그리고 데이터 크기가 큰 데이터타입에서 작은 데이터 타입으로도 옮기는 경우도 있다.
이런 부분들이 어떻게 처리되는지 테스트해보자.
1. 암시적 변환
byte bt = 100;
short st = b;
Console.WriteLine(st);
//출력결과
100
위 경우를 보면 Byte는 0~255까지 이고 short는 -32,768 ~32,767까지의 숫자를 담을 수 있다.
byte를 따로 short로 형변환을 하지 않고 대입을 했는데 정상적으로 대입이 됐다.
따로 지정하거나 명시를 하지 않았는데 자동으로 변환인 된 경우를 암시적 변환이라고 한다.
오류가 나지 않는 이유는 작은그릇에 있는 것을 큰 그릇에 넣는 건 당연히 문제가 없을 것이다.
하지만 반대로 큰 그릇에 있는 것을 작은그릇에 넣으려고 한다면?
아래와 같이 형변환 오류가 발생한다.
암시작 형변환이 불가능하여
(byte)캐스팅으로 임의 형변환을 하더라도 a가 255보다 클 경우 c는 255까지만 담을 수 있으므로
아무리 큰 숫자가 대입되어도 c는 255로 담길 것이다.
728x90
반응형
'C#' 카테고리의 다른 글
C# 닷넷 기초 - 예약어, 키워드, 식별자, 리터럴 (0) | 2021.12.29 |
---|---|
C# 닷넷 기초 - 형변환(명시적 변환) (0) | 2021.12.28 |
C# 닷넷 기초 - 문자형 기본 타입 (string, char) 문자열과 숫자 더하기/조합하기 (0) | 2021.12.24 |
C# 닷넷 기초 - 기본자료형(실수형 : float , double, decimal), 변수선언 (0) | 2021.12.23 |
C# 닷넷 기초 - 기본자료형 (정수형: int,long,byte,sbyte,short,ulong,uint,ushort) 변수선언 (0) | 2021.12.23 |
댓글