공부/C#

(2) C# 기초 문법 - 기본형, 변수, 상수, 문자

샤샤샤샤 2024. 10. 16. 20:53

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 등으로 초기화된다.