연습 - 리터럴 값 출력

완료됨

이 연습에서는 다른 형식의 데이터가 포함된 메시지를 출력하고, C#에서 데이터 형식이 중요한 이유를 알아봅니다.

리터럴 값이란?

리터럴 값은 변경되지 않는 상수 값입니다. 이전에는 출력 콘솔에 리터럴 문자열을 표시했습니다. 즉, H, e, l, l, o 등의 영숫자 문자열을 문자 그대로 출력 콘솔에 표시하려고 했습니다.

계산이 아닌 프레젠테이션에 사용할 영숫자 단어, 문구 또는 데이터가 있을 때 항상 문자열 데이터 형식을 사용합니다. 출력할 수 있는 다른 리터럴 데이터의 종류는 무엇일까요?

연습 - 다른 리터럴 데이터 형식 출력

C#에는 여러 가지 데이터 형식이 있습니다. 그러나 시작 단계에서는 대부분의 시나리오에 적용되는 5개 내지 6개 데이터 형식만 알고 있으면 됩니다. 데이터 형식의 리터럴 인스턴스를 출력에 표시해 봅시다.

참고

코드 창에서 작업을 시작하면 키워드, 연산자, 데이터 형식 등을 나타내기 위해 특정 구문이 다른 색으로 표시되는 것을 확인할 수 있습니다. 지금부터 색에 주의를 기울이세요. 문자를 입력할 때 구문 오류를 쉽게 확인할 수 있으며, 코드를 보다 효과적으로 파악할 수도 있습니다.

문자 리터럴 사용

단일 영숫자 문자만 화면에 출력하려는 경우, 해당 영숫자 문자를 작은따옴표로 묶어 char 리터럴을 만들 수 있습니다. char 용어는 character의 약식 표현입니다. C#에서 이 데이터 형식의 이름은 공식적으로 “char”이지만 “character”라고 할 때가 많습니다.

  1. 코드 편집기에서 다음 코드 줄을 추가합니다.

    Console.WriteLine('b');
    
  2. 입력한 코드를 관찰합니다.

    문자 b는 작은따옴표 'b'로 묶입니다. 작은따옴표는 문자 리터럴을 만듭니다. 큰따옴표를 사용하면 string 데이터 형식을 만듭니다.

  3. 녹색 실행 단추를 눌러 코드를 실행합니다. 출력 창에 다음 결과가 표시됩니다.

    b
    

다음 코드를 입력할 경우

Console.WriteLine('Hello World!');

그러면 다음 오류가 발생합니다.

(1,19): error CS1012: Too many characters in character literal

Hello World!를 둘러싼 작은따옴표가 보입니다. 작은따옴표를 사용하는 경우 C# 컴파일러에는 단일 문자가 예상됩니다. 그러나 이 경우 문자 리터럴 구문이 사용되었지만 대신 12자가 제공되었습니다.

string 데이터 형식과 마찬가지로, 계산이 아닌 프레젠테이션에 사용할 단일 영숫자 문자가 있을 때는 항상 char을 사용합니다.

정수 리터럴 사용

출력 콘솔에 숫자 정수(분수 아님) 값을 표시하려면 int 리터럴을 사용할 수 있습니다. int 용어는 수학에서 사용되는 integer의 약식 표현입니다. C#에서 이 데이터 형식의 이름은 공식적으로 “int”이지만 “integer”라고 할 때가 많습니다. string 또는 char와 달리, int 리터럴에는 다른 연산자가 필요하지 않습니다.

  1. 코드 편집기에서 다음 코드 줄을 추가합니다.

    Console.WriteLine(123);
    
  2. 녹색 실행 단추를 눌러 코드를 실행합니다. 출력 콘솔에 다음과 같은 결과가 표시됩니다.

    123
    

부동 소수점 리터럴

부동 소수점 숫자는 소수가 포함된 숫자입니다(예: 3.14159). C#은 소수를 나타내는 세 가지 데이터 형식, 즉 float, doubledecimal을 지원합니다. 각 형식은 다양한 정밀도를 지원합니다.

Float Type    Precision
----------------------------
float         ~6-9 digits
double        ~15-17 digits
decimal        28-29 digits

여기서 정밀도는 정확한 소수를 지나는 자릿수를 반영합니다.

  1. 코드 편집기에서 다음 코드 줄을 추가합니다.

    Console.WriteLine(0.25F);
    

    float 리터럴을 만들려면 숫자 뒤에 문자 F를 추가합니다. 이 컨텍스트에서는 F리터럴 접미사라고 합니다. 리터럴 접미사는 float 형식의 값을 사용하려는 것을 컴파일러에 알립니다. 소문자 f 또는 대문자 Ffloat에 대한 리터럴 접미사로 사용할 수 있습니다.

  2. 녹색 실행 단추를 눌러 코드를 실행합니다. 출력 콘솔에 다음과 같은 결과가 표시됩니다.

    0.25
    

    float 데이터 형식이 가장 정확하지 않으므로 고정 소수 값에 이 데이터 형식을 사용하여 예기치 않은 계산 오류를 방지하는 것이 가장 좋습니다.

  3. 코드 편집기에서 다음 코드 줄을 추가합니다.

    Console.WriteLine(2.625);
    

    double 리터럴을 만들려면 10진수를 입력합니다. 리터럴 접미사 없이 10진수를 입력하면 컴파일러가 기본적으로 double 리터럴로 설정됩니다.

  4. 녹색 실행 단추를 눌러 코드를 실행합니다. 출력 창에 다음 결과가 표시됩니다.

    2.625
    
  5. 코드 편집기에서 다음 코드 줄을 추가합니다.

    Console.WriteLine(12.39816m);
    

    10진 리터럴을 만들려면 숫자 뒤에 m 글자를 추가합니다. 이 컨텍스트에서는 m리터럴 접미사라고 합니다. 리터럴 접미사는 decimal 형식의 값을 사용하려는 것을 컴파일러에 알립니다. 소문자 m 또는 대문자 Mdecimal에 대한 리터럴 접미사로 사용할 수 있습니다.

  6. 녹색 실행 단추를 눌러 코드를 실행합니다. 출력 콘솔에 다음과 같은 결과가 표시됩니다.

    12.39816
    

부울 리터럴 사용

true 또는 false를 나타내는 값을 출력하려는 경우 bool 리터럴을 사용하면 됩니다.

부울의 경우 용어 bool이 짧습니다. C#에서는 공식적으로 “bool”이라고 하지만, 개발자는 “Boolean”이라는 용어를 사용하는 경우가 많습니다.

  1. 코드 편집기에서 다음 코드 줄을 추가합니다.

    Console.WriteLine(true);
    Console.WriteLine(false);
    
  2. 녹색 실행 단추를 눌러 코드를 실행합니다. 출력 콘솔에 다음과 같은 결과가 표시됩니다.

    True
    False
    

bool 리터럴은 참과 거짓을 나타냅니다. 여기서는 애플리케이션에 의사 결정 논리를 추가하기 시작할 때 bool 값을 광범위하게 사용할 것입니다. 식을 평가하여 식이 true인지, false인지를 확인합니다.

데이터 형식을 강조하는 이유

데이터 형식은 C#에서 중심적인 역할을 합니다. 실제로, 데이터 형식에 중점을 두는 것은 JavaScript와 같은 다른 언어와 C#을 차별화하는 주요 기능 중 하나입니다. C# 디자이너는 데이터 형식을 ‘적용’하여 개발자의 일반적인 소프트웨어 버그를 방지할 수 있다고 생각했습니다. C#에 대해 자세히 알아보면 이 개념을 이해하게 될 것입니다.

데이터 형식이 기능을 정의

앞에서 stringchar는 “계산이 아닌 프레젠테이션”에 사용됨을 확인했습니다. 숫자 값에 대해 수학 연산을 수행해야 하는 경우 int 또는 decimal을 사용해야 합니다. 프레젠테이션이나 텍스트 조작에 사용되는 데이터가 있는 경우 string 또는 char 데이터 형식을 사용해야 합니다.

전화 번호나 우편 번호와 같은 데이터를 사용자로부터 수집해야 한다고 가정해 봅시다. 거주하는 국가/지역에 따라 해당 데이터는 숫자로 구성될 수 있습니다. 그러나 전화 번호와 우편 번호에 대해 수학 계산을 수행하는 경우는 거의 없기 때문에, 작업 시 string 데이터 형식을 사용하는 것이 좋습니다.

bool의 경우도 마찬가지입니다. 애플리케이션에서 "true""false" 단어를 사용해야 하는 경우 string을 사용합니다. 그러나 평가 시 true 또는 false의 개념을 사용해야 하는 경우에는 bool을 사용합니다.

이러한 값이 문자열 리터럴처럼 보일 수 있다는 사실을 아는 것이 중요합니다. 즉, 다음 문을 동일한 것으로 생각할 수 있습니다.

Console.WriteLine("123");
Console.WriteLine(123);

Console.WriteLine("true");
Console.WriteLine(true);

그러나 비슷한 것은 표시된 출력뿐입니다. 실제로 기본 int 또는 bool로 수행할 수 있는 작업 종류는 해당 string과 다릅니다.

요약

중요한 점은 많은 데이터 형식이 있지만 지금은 다음 몇 가지 데이터 형식만 중점적으로 살펴본다는 것입니다.

  • 계산이 아닌 프레젠테이션용 단어, 문구 또는 영숫자 데이터에 사용되는 string
  • 단일 영숫자 문자에 사용되는 char
  • 정수에 사용되는 int
  • 분수 구성 요소가 있는 숫자의 경우 decimal
  • true/false 값의 경우 bool