변수 만들고 사용하기

  • 42 minutes to read

프로그램에서 사용되는 많은 데이터는 데이터 타입(Data Type)을 가지고 변수(Variable) 또는 상수(Constant)라는 곳에 저장되어 사용됩니다. 이번 강의는 프로그래밍의 가장 기본적인 데이터 타입과 변수에 대한 내용을 다루도록 하겠습니다.

> // 변수(Variable): 프로그램에서 사용할 데이터를 임시로 저장해 놓는 그릇

변수(Variable)

프로그램에서 값을 다루려면 사용할 데이터를 메모리에 잠시 보관해 놓고 사용하기 위한 임시 저장 공간이 필요합니다. 이때 변수(Variable)를 사용합니다. 이러한 변수를 사용하려면 먼저 선언해야 하는데, 데이터를 담아 놓을 그릇(컨테이너)을 만드는 작업이라고 생각하면 됩니다.

변수를 만들 때에는 변수 이름과 값 그리고 데이터 타입(형식, 유형)이 필요합니다.

TIP

박용준 강사의 강의에서는 데이터 형식, 데이터 타입, 데이터 유형, 자료형을 같은 단어로 표현하겠습니다.

변수에 대한 미리보기 샘플 코드는 다음과 같습니다. 반복해서 얘기하겠지만, 샘플 코드는 직접 C# Interactive에서 실행해볼 수 있습니다.

> string variable = "변수 만들고 사용하기";
> Console.WriteLine(variable);
변수 만들고 사용하기

변수는 다음처럼 선언할 수 있습니다. 변수 선언에 대한 내용을 그림으로 표현해보면 다음과 같습니다.

그림: 변수 선언하기 및 메모리 표현

변수 선언하기

C#에서 변수를 선언하는 방법은 먼저 데이터 타입을 지정한 후 변수 이름을 기입하는 것입니다. 선언은 세미콜론(;)으로 종결되어야 하며, 이를 통해 문장이 완성됩니다. 다양한 데이터 타입을 통해 숫자와 문자 등을 할당할 수 있습니다. 정수를 다루는 경우, int라는 키워드를 사용하여 'integer'를 축약하여 표현합니다. 예를 들어, number라는 변수에 정수 데이터 타입을 할당하면, 메모리에 임시 저장 공간이 생성되어 1, 2, 3, 0, -1, -2와 같은 정수 값을 저장할 수 있습니다.

데이터 형식(Data Type)

C#에서 자주 사용하는 데이터 형식(타입)에는 다음과 같은 종류가 있습니다.

데이터 형식 설명
int 정수형 데이터를 저장합니다. 더 큰 정수는 long을 사용합니다.
string 문자열 데이터를 저장합니다.
bool 참 또는 거짓의 값을 true와 false 키워드로 저장합니다.
double 실수형 데이터를 저장합니다. float 키워드로도 실수를 저장합니다.
object C#에서 사용되는 모든 데이터를 저장합니다. 모든 데이터 형식을 담을 수 있는 최상위 부모입니다.

각 데이터 형식에 대해서는 뒤에서 자세히 다루겠습니다.

참고로, C#에서 기본으로 제공하는 데이터 형식을 기본 형식(Primitive Type)이라고 합니다. 앞으로 배우게 될 클래스를 사용하여 만든 형식을 사용자 정의 형식이라고 합니다. 다음 샘플 코드는 int 키워드는 기본 형식이고 MyClass는 기본 형식이 아님을 표현한 내용인데요. 몰라도 되니 참고로 보고 넘어가면 됩니다.

> typeof(int).IsPrimitive
true
> class MyClass { }
> typeof(MyClass).IsPrimitive
false

변수 만들고 사용하기

변수를 사용하려면 변수 이름이 필요합니다. 변수 이름을 지을 때 다음과 같은 규칙을 지켜야 합니다. 이러한 규칙은 프로그래밍을 학습하면서 자연스레 익혀지는 내용이니 간단히 읽고 넘어갑니다.

  • 변수의 첫 글자는 문자 또는 밑줄(_)로 지정합니다. 숫자가 변수 이름의 처음에 올 수 없습니다.
  • 길이는 255자 이하로 하고 공백(space)을 포함할 수 없습니다.
  • C#은 유니코드를 지원하므로 변수명에 영어, 한글, 한자 등을 사용할 수 있습니다. 영문자, 숫자, 밑줄(_)을 조합해서 사용할 수 있지만, 특수 문자는 사용할 수 없습니다.
  • C#에서 사용하는 키워드는 사용할 수 없습니다. 예를 들어 C#의 기본 코드에서 사용되는 using, public, class, static, void, Main 등의 키워드는 사용할 수 없습니다. 다만, 키워드 앞에 @기호를 붙이면 키워드도 변수로 사용할 수 있지만 권장하지 않습니다.
  • 변수는 대소문자를 구분하고, 일반적으로 소문자로 시작합니다.
  • 변수 이름을 한글로 선언해도 상관없습니다. 오히려 한글 변수를 사용함으로써 프로그램 코드의 가독성을 높일 수 있습니다. 다만, 해당 프로그램을 여러 개발자가 분석하고 사용하는 상황이라면 프로그래밍에서의 공통 언어인 영어를 사용하기에 대부분의 개발자들은 한글 변수 이름을 잘 사용하지 않습니다.

변수를 선언했으면 값을 넣어주어야 합니다. 변수에 값을 저장하는 것을 변수에 값을 대입 또는 할당한다고 합니다.

변수는 다음처럼 선언한 후 값을 할당할 수 있습니다.

그림: 변수 만들고 값 할당

변수 만들고 값 할당

변수 선언 후 값이 할당된 후의 메모리 상태를 그림으로 표현하면 다음과 같습니다. 정수형을 담을 수 있는 number 변수를 선언한 후 7을 할당한 상태입니다.

그림: number 변수에 7을 할당한 후의 메모리 상태

number 변수에 7을 할당한 후의 메모리 상태

앞서 설명한 내용을 전체 코드로 보면 다음과 같습니다. 다음 소스 코드를 입력한 후 실행해 보세요.

코드: Variable.cs

using System;

class Variable
{
    static void Main()
    {
        int number; //[1] 정수형 변수 선언하기
        number = 7; //[2] 변수에 값 대입(할당)하기 
        Console.WriteLine(number); //[3] 변수의 값을 화면에 출력하기 
    }
}
7

[1]번 코드에서 number 이름의 정수(int) 형식의 변수를 선언합니다. [2]번 코드처럼 정수 데이터를 저장합니다. 값을 저장할 때에는 대입 연산자라 불리는 = 기호를 사용합니다. 변수에 들어있는 값을 화면에 출력하려면 [3]번 코드처럼 Console.WriteLine() 메서드에 변수 이름을 넣어주면 됩니다.

리터럴 사용하기

변수에 직접 정수형 또는 문자열 값을 저장할 수 있는데 이 값 자체를 리터럴(Literal)이라고 합니다. 리터럴 중에는 값 자체를 가지지 않는 널(null) 리터럴도 있습니다. 변수에 저장되는 리터럴은 정수 리터럴, 실수 리터럴 및 문자열 리터럴 등을 사용할 수 있습니다. 정수는 숫자 그대로 표현하고 실수는 대문자 F 또는 소문자 f를 숫자 뒤에 접미사로 붙여서 표현합니다. 문자는 반드시 작은따옴표로 묶어야 하며 문자열은 큰따옴표로 묶어야 합니다. 참고로 리터럴 단어는 상수로 표현해도 됩니다.

> 1234
1234
> 3.14F
3.14
> 'A'
'A'
> "HELLO"
"HELLO"

리터럴 사용하기

리터럴을 사용해보겠습니다. Visual Studio에서 프로젝트를 생성하고 솔루션 탐색기에서 Program.csLiteral.cs로 바꾸세요.

다음 내용을 입력한 후 실행해 보세요.

코드: Literal.cs

using System;

class Literal
{
    static void Main()
    {
        Console.WriteLine(1234);    //[1] 1234: 정수 리터럴
        Console.WriteLine(3.14F);   //[2] 3.14: 실수 리터럴
        Console.WriteLine('A');     //[3] A: 문자 리터럴
        Console.WriteLine("HELLO"); //[4] HELLO: 문자열 리터럴
    }
}
1234
3.14
A
HELLO

리터럴을 사용하여 소스 코드에서 정수, 실수, 문자 및 문자열을 표현해 보았습니다. 리터럴은 코드에 직접 사용된 값을 뜻합니다. 변수에 저장하는 값도 사실은 리터럴입니다.

null 키워드

C#에서 null 키워드는 "아무것도 없는 값"을 의미합니다. 널(Null) 값을 나타내는 null 키워드는 뒤에서 자세히 다루겠습니다.

[실습] 변수를 만들어 값 저장 후 사용하기

소개

Visual Studio에서 콘솔 응용 프로그램 프로젝트를 만들고 변수를 만들고 사용하는 예제를 만들어 보겠습니다.

따라하기

(1) 새로운 C# 콘솔 프로젝트를 다음과 같이 생성합니다. 참고로 C#에서는 프로젝트 이름 및 C# 파일에 한글도 사용할 수 있습니다.

프로젝트 형식 템플릿 이름 위치
Visual C# 콘솔 응용 프로그램 VariableNote C:\C#

(2) Visual Studio의 솔루션 탐색기에서 Program.cs 파일을 VariableNote.cs 파일로 이름을 변경합니다. 이미 만들어져 있는 모든 코드를 삭제한 후 아래와 같이 프로그램을 작성하고 실행해 보세요. Main 메서드를 사용하지 않고 Program.cs 파일에서 최상위문(Top Level Statement)을 사용해도 됩니다. 다만, 박용준 강사의 C# 기초 강의에서는 계속 클래스와 Main 메서드의 기본 구조로 연습하겠습니다.

코드: VariableNote

//[?] 변수(Variable): 프로그램에서 사용할 데이터를 저장해 놓는 그릇
using System;

class VariableNote
{
    static void Main()
    {
        //[1] 변수 만들기(선언)
        int i; // i 이름으로 변수 만들기

        //[2] 변수에 값을 저장하기(대입, 할당)
        i = 1234;

        //[3] 변수에 들어 있는 값 사용하기(참조)
        Console.WriteLine(i); // 1234
    }
}
1234

(3) 변수 i에 들어 있는 값인 1234가 화면에 출력됩니다.

  1. int 키워드를 사용하여 i라는 이름의 정수를 담을 수 있는 그릇을 만듭니다. 변수를 만드는 작업을 "변수를 선언한다"라고 표현합니다. 처음 작성하는 예제이기에 i라는 변수를 사용하지만 일반적으로 의미있는 변수 이름을 사용합니다.
  2. 정수형 변수 i에 등호(=) 기호를 사용하여 1234를 저장합니다. 변수에 값을 저장하는 것을 변수 초기화, 변수에 값 대입, 변수에 값 할당 등으로 표현합니다.
  3. 변수를 선언했으니 출력문을 사용하여 변수의 값을 출력합니다. 이처럼 변수의 값을 사용하는 것을 "변수를 참조한다"라고 표현합니다.

마무리

다음처럼 변수를 선언하면서 값을 바로 지정할 수도 있습니다.

> int i = 1234;

변수 선언과 동시에 초기화

이번 예제에서는 변수를 선언과 동시에 값을 할당하여 초기화해주는 내용을 다뤄보겠습니다.

변수 초기화란 변수가 선언되면 메모리 공간에 변수 이름으로 변수가 만들어지는데 처음에는 사용할 수 없는 쓰레깃값이 저장되어 있습니다. 이곳에 실제 사용할 값을 저장하는 것을 초기화라고 합니다.

다음 그림은 변수를 선언하고 초기화하는 표현한 것입니다.

그림: 변수 선언과 동시에 초기화

변수 선언과 동시에 초기화

변수를 만들고 바로 값을 초기화 한 후 사용하는 예제를 만들어보겠습니다.

다음 코드를 소스 코드 편집창에 입력한 뒤 실행해보세요.

코드: VariableDemo.cs

// VariableDemo.cs
using System;

class VariableDemo
{
    static void Main()
    {
        int number = 7; //[1] 변수 선언과 동시에 초기화 
        Console.WriteLine("{0}", number);
    }
}
7

int 키워드를 사용하여 number라는 이름의 정수를 저장할 수 있는 변수를 생성하고 값으로 7을 대입한 후 콘솔 화면에 출력해 보는 내용이었습니다.

콤마 기준으로 여러 개의 변수 동시 생성

변수 선언 및 초기화도 콤마를 기준으로 여러 개를 동시에 할 수 있습니다. 주석을 제외한 다음 코드를 C# Interactive에 입력한 뒤 실행해보세요.

코드: VariableInitialize.cs

using System;

class VariableInitialize
{
    static void Main()
    {
        //[1] 변수 선언과 초기화를 한 번에 처리 
        int first = 10;

        //[2] 콤마를 사용하여 여러 개의 변수를 동시에 선언 및 초기화
        int second = 20, third = 30;

        Console.WriteLine("{0}, {1}, {2}", first, second, third);
    }
}
10, 20, 30

코드: VariableInitialize.c

#include <stdio.h>

int main(void)
{
    //[1] 변수 선언과 초기화를 한 번에 처리 
    int first = 10;

    //[2] 콤마를 사용하여 여러 개의 변수를 동시에 선언 및 초기화
    int second = 20, third = 30;

    printf("%d, %d, %d\n", first, second, third);

    return 0;
}
10, 20, 30

코드: VariableInitialize.py

# [1] 변수 선언과 초기화를 한 번에 처리 
first = 10;

# [2] 콤마를 사용하여 여러 개의 변수를 동시에 선언 및 초기화
second, third = 20, 30 

print(first) # 10
print(second) # 20 
print(third) # 30 
10
20
30

변수 선언 구문 뒤에 = 기호를 붙여서 값을 바로 할당하는 방법으로 선언과 동시에 초기화를 시켜줄 수 있습니다.

참고: int 형식에 실수 데이터 입력 시도

실수 자료는 int 형 변수에 값을 넣을 수 없습니다. 예를 들어 다음 샘플 코드와 같이 int 형식 변수인 number3.14 값을 넣으려고 하면 에러가 발생합니다. 3.14는 실수 자료형이라 정수형 변수에 담을 수 없습니다.

코드: IntegerValue.cs

> int number = 3.14;
(1,14): error CS0266: 암시적으로 'double' 형식을 'int' 형식으로 변환할 수 없습니다. 명시적 변환이 있습니다. 캐스트가 있는지 확인하세요.

같은 형식의 변수 여러 개를 한 번에 선언하기

이번 예제에서는 한 번에 여러 개의 변수를 선언하는 방법에 대해서 알아보겠습니다. C#에서는 동일 데이터 타입을 갖는 변수를 콤마(,) 기호로 구분해서 여러 개 선언할 수 있습니다.

> 데이터 타입 변수1, 변수2, 변수3;

다음 그림처럼 따로 따로 변수를 선언하는 방법과 동일하게 콤마를 구분으로 여러 개의 변수를 선언할 수 있습니다.

그림: 같은 데이터 타입을 가지는 3개의 변수 선언하기

같은 데이터 타입을 가지는 3개의 변수 선언하기

콤마 기호로 여러 개의 변수 선언

콤마를 구분으로 한 줄에 여러 개의 변수를 선언하는 방법을 살펴보겠습니다. 다음 코드를 소스 코드 편집창에 입력한 뒤 실행해보세요.

코드: VariableComma.cs

//[?] 콤마를 사용하여 동일 데이터 형식을 갖는 변수 여러 개 만들기
using System;

class VariableComma
{
    static void Main()
    {
        //[1] 콤마(,) 기호로 여러 개의 변수 선언
        int number1, number2, number3;

        number1 = 1;
        number2 = 2;
        number3 = 3;

        Console.WriteLine("{0}, {1}, {2}", number1, number2, number3);
    }
}
1, 2, 3

정수형 변수를 선언할 때 사용하는 int 키워드 뒤에 콤마 구분으로 변수 이름을 나열하면 동일 데이터 형식으로 여러 개의 변수가 선언됩니다. 데이터 형식이 다르면 따로 변수를 선언해야 합니다.

같은 데이터 형식의 변수를 여러 개 선언하는 내용을 그림으로 표현하면 다음과 같습니다.

TODO:

콤마를 구분으로 한 줄에 여러 개의 변수를 선언하는 방법을 살펴보겠습니다. 다음 코드를 소스 코드 편집창에 입력한 뒤 실행해보세요.

코드: variable_comma.c

//[?] 콤마를 사용하여 동일 데이터 타입을 갖는 변수 여러 개 만들기
#include <stdio.h>

int main(void)
{
    //[1] 콤마(,) 기호로 여러 개의 변수 선언
    int number1, number2, number3;

    number1 = 1;
    number2 = 2;
    number3 = 3;

    printf("%d, %d, %d", number1, number2, number3);

    return 0;
}
1, 2, 3

정수형 변수를 선언할 때 사용하는 int 키워드 뒤에 콤마 구분으로 변수 이름을 나열하면 동일 데이터 타입으로 여러 개의 변수가 선언됩니다. 데이터 타입이 다르면 따로 변수를 선언해야 합니다.

여러 개의 변수를 선언하고 같은 값으로 초기화하기

여러 개의 변수를 같은 값으로 초기화할 때 좀 더 편하게 하기 위해서는 = 기호를 사용하여 다음 코드와 같이 a = b = c = 10; 형태로 초기화하면 됩니다.

코드: VariableSameValue.cs

using System;

class VariableSameValue
{
    static void Main()
    {
        int a, b, c;

        //[1] 여러 개의 변수를 선언하고 같은 값으로 초기화하기
        a = b = c = 10;

        Console.WriteLine("{0}, {1}, {2}", a, b, c);
    }
}
10, 10, 10

코드: variable_same_value.c

#include <stdio.h>

int main(void)
{
    int a, b, c;

    //[1] 여러 개의 변수를 선언하고 같은 값으로 초기화하기
    a = b = c = 10;

    printf("%d, %d, %d\n", a, b, c);

    return 0;
}
10, 10, 10

이번 코드와 같이 동일한 데이터로 초기화하는 방법이 있더라도 최근에는 변수는 한 줄에 하나씩만 선언하고 초기화하는 방법을 주로 사용합니다.

계산식 사용하기 - DotNet 솔루션에 소스 입력 필요

변수에 값을 대입할 때 계산식을 사용할 수 있습니다. 계산식은 소괄호로 묶어서 우선순위를 명시할 수도 있습니다.

코드: Calculation.cs

using System;

class Calculation
{
    static void Main()
    {
        int calc = 0;
        calc = (3 + 5); // 계산식
        Console.WriteLine("3 + 5 = {0}", calc); // 3 + 5 = 8
    }
}
3 + 5 = 8

변수 이름 표기법

프로그래밍에서 변수명을 결정할 때 사용하는 여러 표기법에는 헝가리안(Hungarian), 파스칼(Pascal), 낙타(Camel Case), 스네이크(Snake) 표기법 등이 있습니다. 각 표기법의 특징은 다음과 같습니다.

  • 헝가리안 표기법: 변수의 데이터 형식을 나타내는 접두사를 이름 앞에 붙입니다.
    • 예: int intNum = 0; (int 타입을 나타내는 접두사 사용)
  • 파스칼 표기법: 각 단어의 첫 글자를 대문자로 표기합니다.
    • 예: int MyNum = 0; (변수와 클래스 이름에서 사용)
  • 낙타 표기법: 첫 단어는 소문자로 시작하고, 이후 각 단어의 첫 글자는 대문자로 표기합니다.
    • 예: int myNum = 0; (낙타의 등처럼 들쑥날쑥한 형태)
  • 스네이크 표기법: 단어들을 언더스코어(_)로 구분합니다.
    • 예: int my_num = 0; (단어 구분에 언더스코어 사용)

이러한 표기법은 프로그래밍에서 변수명을 짓는 데 사용되는 일반적인 스타일 가이드입니다. 가이드라인일 뿐 엄격한 규칙은 아니므로, 프로젝트나 팀 내에서 선호하는 표기법을 따르는 것이 좋습니다. 예를 들어, C# 언어는 낙타 표기법을 선호하는 반면, C 언어에서는 스네이크 표기법이 더 일반적으로 사용됩니다.

상수(Constant) 사용하기

변수를 선언할 때 const 키워드를 앞에 붙이면 이 변수는 상수가 되어 한번 선언 후 다시 초기화되지 않습니다. 이러한 const 키워드를 붙인 변수를 상수 또는 지역(Local) 상수라고 합니다. 상수는 반드시 선언과 동시에 반드시 리터럴로 초기화해야 합니다.

const int MAX = 100;	 

그림: 상수 선언 상수 선언

const를 붙여 만든 상수는 선언과 동시에 반드시 초기화해야 하고 새로운 값으로 다시 설정하려고 하면 에러가 발생합니다.

상수(Constant)를 한줄로 정의하면 "변하지 않는 변수, 읽기 전용 변수"로 표현할 수 있습니다. 아래 리스트는 상수에 대한 여러 가지 의미를 적어본 내용이므로 한번 가볍게 읽고 넘어갑니다.

  • 변수와 마찬가지로 메모리 상의 임시 데이터 저장소를 의미합니다.
  • 변수와 달리 선언 후 그 값이 변하지 않는 수를 의미합니다.
  • 읽기전용 변수로 봐도 무관합니다.
  • 반드시 선언과 동시에 특정 리터럴로 초기화를 해야 합니다.

상수를 사용해보겠습니다. 모든 변수 앞에 const를 붙여 상수로 만들 수 있습니다.

코드: ConstantDemo.cs

//[?] 상수(Constant): 변하지 않는 변수, 읽기 전용 변수
using System;

class ConstantDemo
{
    static void Main()
    {
        const int MAX = 100; // 정수 형식의 상수 선언과 동시에 초기화 

        Console.WriteLine("최댓값: {0}", MAX);
    }
}
최댓값: 100

int MAX = 100; 코드 앞에 const 키워드를 붙여 MAX 변수를 상수로 만들었습니다. 상수는 한번 선언 후 그 값을 변경할 수 없습니다. 상수는 반드시 선언과 동시에 초기화를 해주어야 합니다. 그렇지 않으면 에러가 발생합니다.

상수를 한 줄로 정의하기

상수를 한 줄로 정의하면 변하지 않는 변수, 읽기 전용 변수라고 합니다.

코드: 상수_한줄정의.c

//[!] 상수(Constant): 변하지 않는 변수, 읽기 전용 변수
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	//[1] 상수 선언과 동시에 초기화
	const double PI = 3.14;

	//[2] 상수 참조
	printf("%.2f\n", PI); // 3.14

	system("pause");
}
3.14

용어: Immutable

TIP

Immutable

프로그래밍 환경에서 자주 나오는 용어 중에는 MutabilityImmutable이 있습니다. Mutability변할 수 있는 의미로 변수와 같고, Immutable변할 수 없는 의미로 상수와 같습니다.

퀴즈:

퀴즈 1. 변수와 상수의 차이점은 무엇인가요?

a) 변수는 값이 변할 수 있고 상수는 값이 변하지 않는다.
b) 변수와 상수는 서로 다른 키워드로 선언된다.
c) 변수는 초기화가 필수가 아니지만 상수는 반드시 초기화해야 한다.
d) 변수는 데이터 타입이 필요하지 않지만 상수는 필요하다.
e) 상수는 메모리 공간을 차지하지 않는다.

정답: a

해설: 변수는 값을 변경할 수 있는 공간을 의미하고, 상수는 한 번 값이 할당되면 변경할 수 없는 공간을 의미합니다.

퀴즈 2. C#에서 문자 리터럴을 표현할 때 사용하는 따옴표는 무엇인가요?

a) 작은따옴표 ('')
b) 큰따옴표 ("")
c) 쌍작은따옴표 ('' '')
d) 쌍큰따옴표 ("""")
e) 중괄호 ({})

정답: a

해설: C#에서 문자 리터럴을 표현할 때 작은따옴표('')를 사용합니다.

퀴즈 3. 상수를 선언할 때 사용하는 키워드는 무엇인가요?

a) var
b) static
c) const
d) readonly
e) final

정답: c

해설: 상수를 선언할 때 'const' 키워드를 사용합니다.

퀴즈 4. 다음 코드에서 잘못된 부분은 무엇인가요?

const int number;
number = 10;
a) 상수를 초기화하지 않았다.
b) 상수의 이름이 잘못되었다.
c) 상수의 데이터 타입이 잘못되었다.
d) '=' 기호를 사용해서는 안 된다.
e) 상수를 선언하는 방법 자체가 잘못되었다.

정답: a

해설: 상수는 선언과 동시에 반드시 초기화해야 합니다.

퀴즈 5. 문자열 리터럴을 표현할 때 사용하는 따옴표는 무엇인가요?

a) 작은따옴표 ('')
b) 큰따옴표 ("")
c) 쌍작은따옴표 ('' '')
d) 쌍큰따옴표 ("""")
e) 중괄호 ({})

정답: b

해설: C#에서 문자열 리터럴을 표현할 때 큰따옴표("")를 사용합니다.

퀴즈 6. 다음 중 정수형 변수를 선언하는 올바른 방법은 무엇인가요?

a) int num = 42;
b) int num: 42;
c) int num := 42;
d) int num 42;
e) int num == 42;

정답: a

해설: 정수형 변수를 선언하고 초기화하는 올바른 방법은 'int num = 42;'입니다.

퀴즈 7. 다음 중 리터럴이 아닌 것은 무엇인가요?

a) 3.14
b) 'A'
c) "Hello, World!"
d) null
e) int num

정답: e

해설: int num은 변수 선언이며, 리터럴이 아닙니다.

퀴즈 8. 상수는 어떤 경우에 주로 사용하는가요?

a) 값이 항상 일정하게 유지되어야 할 때
b) 값이 변경될 가능성이 있는 경우
c) 반복문에서 증감자로 사용할 때
d) 여러 메서드에서 공유되어야 할 때
e) 특정 데이터 타입에 종속적일 때

정답: a

해설: 상수는 값이 항상 일정하게 유지되어야 하는 경우에 주로 사용합니다.

퀴즈 9. 다음 코드에서 잘못된 부분은 무엇인가요?

int number1 = 5;
int number2;
number2 = 10;
const int number3;
number3 = 15;
a) number1 변수의 선언
b) number2 변수의 선언
c) number2 변수에 값을 할당하는 부분
d) number3 상수의 선언
e) number3 상수에 값을 할당하는 부분

정답: d

해설: 상수는 선언과 동시에 반드시 초기화해야 한다. 이 예제에서는 number3 상수를 선언하면서 초기화하지 않았습니다.

퀴즈 10. 다음 중 실수 리터럴을 사용하는 올바른 예제는 무엇인가요?

a) 3.14
b) "3.14"
c) '3.14'
d) 3,14
e) 3_14

정답: a

해설: 실수 리터럴은 소수점을 포함하는 숫자를 사용하여 표현합니다. 예제에서 올바른 실수 리터럴은 3.14입니다.

요약

변수는 데이터 타입에 따른 값을 임시로 저장하는 컨테이너와 같은 역할을 합니다. 이번 강의에서는 변수의 기본적인 개념과 용도를 살펴보았습니다. 변수를 통해 프로그램은 다양한 데이터를 처리하고, 저장할 수 있는 능력을 갖추게 됩니다. 다음으로, 우리는 변수 선언 시 사용되는 다양한 데이터 타입들에 대해 더 깊이 탐구할 예정입니다.


1.1 퀴즈

(1) 다음 중 변수를 선언하는 방법으로 틀린 것을 모두 고르세요.

a. number;
b. number int;
c. int number;
d. int number

정답: a, b, d

변수 선언 규칙

  • 데이터 형식(int, float 등)이 먼저 와야 함
  • 변수 이름을 지정해야 함
  • 선언문 끝에 세미콜론(;) 이 필요함
  • 올바른 예: int number;

(2) 다음 중 사용할 수 없는 변수 이름을 모두 고르세요.

a. int hi;
b. int 1000;
c. int first;
d. int _second;
e. int int;
f. int main;
g. int age100;

정답: b, e, f

변수 이름 규칙

  • 숫자로 시작할 수 없음1000 (❌)
  • C# 키워드를 변수명으로 사용할 수 없음int, main (❌)

(3) 다음 중 여러 개의 변수를 한 번에 선언하는 방법으로 올바른 것을 고르세요.

a. first, second, third;
b. int first, int second, int third;
c. int first, second, third;
d. first, second, third int;

정답: c

여러 개의 정수형 변수를 한 번에 선언할 때

int first, second, third;
  • int 키워드는 한 번만 사용
  • 여러 변수를 콤마(,)로 구분하여 선언

(4) 다음 중 변수를 선언하면서 값을 초기화하는 방법으로 올바른 것을 고르세요.

a. number = 10;
b. int number := 10;
c. int 10 number;
d. int number = 10;

정답: d

변수 선언과 동시에 초기화하는 방법

int number = 10;
  • 데이터 형식 → 변수명 → = → 값

(5) 다음 중 리터럴 사용법이 잘못된 것을 고르세요.

a. 1234
b. 3.14F
c. '가'
d. HELLO

정답: d

문자열 리터럴은 큰따옴표(" ")로 묶어야 합니다.

  • 올바른 예: "HELLO"
  • " " 없이 HELLO만 작성하면 오류 발생

1.2 연습문제: 여러 개의 변수를 선언과 동시에 초기화하기

다음 소스 코드를 완성하여 10, 20, 30이 출력되도록 하세요.

코드

using System;
 
class VariablePractice
{
    static void Main()
    {
        // 여러 개의 변수를 선언과 동시에 초기화
        int first = 10, second = 20, third = 30;
 
        Console.WriteLine("{0}, {1}, {2}", first, second, third);
    }
}

실행 결과

10, 20, 30

정답

int first = 10, second = 20, third = 30;

해설

  • 한 줄에 여러 개의 변수를 선언할 때
    • int first = 10, second = 20, third = 30;
    • 각 변수를 콤마(,)로 구분
  • 출력 방식
    • Console.WriteLine("{0}, {1}, {2}", first, second, third);
    • {0}, {1}, {2}자리 표시자(Placeholder) 로 변수 값을 출력하는 역할을 함
VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com