C#의 시작이 java 인 만큼, java 와 유사한 점이 많다.
그렇기에 이 글에서는 c#의 세부적인 내용까지 모두 말하기보단, java와의 차이점을 중점에 두고 C# 만의 차별점을 말하고자 한다.
1. 다수의 변수 선언 및 초기화
int a=b=c=d=10;
C# 에서는 이런식으로 여러 변수를 한번에 선언과 동시에 초기화하는 것이 가능하다.
2. 상수
const NAME = "홍길동";
상수를 선언할때는 final 예약어 대신 JS처럼 const 를 사용한다.
3. 문자열
string line = @"\안녕하세요\
반가워요"
이렇게 앞에 @를 붙이고 문자열을 적으면 공백, 특수 기호를 포함하여 문자열을 그대로 저장한다.
출력결과: \안녕하세요\
반가워요
4. 숫자 타입
자바와 같은 byte, short, int, long, float, double 에 부호가 없이 자연수만을 표현하기 위한 ushort, uint, ulong 과 부호가 있는 byte 형태인 sbyte 가 존재한다. 실수형에 추가적으로 decimal 이 존재하는데 128비트를 사용하며 소수점 28번째 자리까지 표현 가능하다.
5. 기본형 변환
Convert.ToInt32() 나 Convert.ToString() 같은 Convert 내부의 정적메서드를 이용해 변환한다.
6. 무작위 변수 var
추론 가능한 무작위 타입을 담을 수 있는 변수 var을 제공한다. 이때 중요한 것은 '추론 가능한' 이라는 문구로, 최상위 타입 object 와 달리 모든 타입을 담을 수 있는 것은 아니다.
var value = 10; // int 타입으로 추론됨
value = "hello"; // 오류 발생: 이미 int 타입으로 결정됨
위의 코드에서 볼 수 있듯, 타입을 추론 하는 것이지, 아무 타입이나 담는 것이 아니다. 타입 추론은 컴파일 과정에서 결정된다.
7. dynmaic 타입
var 이 처음 추론으로 결정난 타입을 담는 변수라면, dynamic 은 모든 타입의 변수를 담을 수 있는 변수다. 따라서 어떤 타입의 값이든 담을 수 있으며, 그 값이 처음 추론 값과 달라도 상관없다.
dynamic value = 10;
value = "hello"; // dynamic 은 어떤 값이든 담을 수 있음
8. default 키워드
변수의 기본값을 C# 에서 설정한 값으로 바꾸는 키워드.
int, double, short 등은 0으로 초기화되며, string 은 null, bool 은 false 등으로 초기화된다.
'공부 > C#' 카테고리의 다른 글
(5) C# 기초 문법 - 연산자 오버로딩, foreach, 이터레이터, 가변배열 등 (0) | 2024.10.17 |
---|---|
(4) C# 기초 문법 - 프로퍼티(속성), 인덱서 (0) | 2024.10.16 |
(3) C# 기초 문법 - readonly, out, ref, 가변길이 매개변수 등 (0) | 2024.10.16 |
(2) C# 기초 문법 - namespace, 클래스, 구조체, static, 접근 제한자 등 (1) | 2024.10.16 |
(1) C# 이란? (0) | 2024.10.16 |