프로그래밍공부/C#기초

C# 프로그램 기초 - 06

Roslyn 2024. 1. 8. 10:13
반응형

기본적으로 어떤 기능을 구현하고 그걸 다른 곳에서 가져다 쓰기 위해서는 Namespace라는 것으로 정의되어 있어야 원활합니다.

반드시 필요한 것은 아니지만, Namespace가 없으면, 중복된 이름으로 인한 호출 문제가 발생하게 됩니다.

 

하지만 그런 Namespace가 없이도, 언제든 바로 사용할 수 있는 명령어가 있습니다.

대표적으로 현재 콘솔 프로젝트에서는 Console이란 녀석을 아무런 조건없이 어디서든 호출해서 쓸 수 있습니다.

이렇게 미리 정해놓은 명령어, 또는 개체를 우리는 "예약어" 라고 부릅니다.

 

대표적인 예약어에는 if, for, while, do 등등의 명령어와, 프로젝트 템플릿에 따라 Console과 같은 클래스가 있습니다.

 

그리고 Console이라고 입력한 뒤, 점(.) 하나를 찍어보면 화면에 Console 이란 클래스를 이용해서 실행할 수 있는 명령어의 목록이 나옵니다.

 

 

예전에는 개발자들이 명령어를 일일이 외워서 코딩하고, 오타로 인한 오류가 빈번했지만, 에디터가 발전하면서 이른바 "인텔리센스"라는 것이 등장했으니, 바로 보시는 이와 같은 기능을 말합니다.

인텔리센스를 통해 일일이 명령어를 치지 않아도 되고, 해당 클래스에 어떤 기능들이 있는지 살펴볼 수 있게 되었습니다.

또한 선택하면 자동으로 코드가 완성됨으로써, 오타로 인한 오류 가능성을 현저히 낮춰주게 되었습니다.

인텔리센스를 적극적으로 활용하시기 바랍니다.

 

위에서 하나씩 내리다 보면 Console 클래스에 Readline 이란 명령어가 있는 것이 보일 겁니다.

WriteLine이 출력하는 명령어라면, ReadLine은 입력받는 명령어 입니다.

 

다음과 같이 코드를 수정해 봅시다.

 

static void Main(string[] args)
{
	string msg = Console.ReadLine();
	Console.WriteLine(msg);
}

 

문자열(string) 변수인 msg 를 "선언"하여 거기에 Console.ReadLine() 이란 명령어를 "대입"시켰습니다.

여기서 우리가 알고 넘어거야할 중요한 개념이 등장합니다.

 

(1) 선언

앞서도 설명하는 과정에서 종종 선언이란 표현을 보아왔을 겁니다.

이것은 컴퓨터에게 "내가 이런 녀석을 사용할꺼야!" 라고 알려주는 것입니다.

프로그램 언어에 따라 이 선언이 필수인 언어가 있고, 필수가 아닌 언어도 있지만, 대체로 현대적인 언어들은 모두 필수 개념으로 자리잡고 있습니다.

 

(2) 대입

string msg = ""; 이렇게 입력하면, msg 란 이름의 문자열(string)을 "선언"하였고, 그 초기값으로 빈 문자열("")을 대입시킨 겁니다.

이제 msg 는 곧 빈 문자열과 똑같습니다.

대입이 뭔지 이해되시나요?

 

즉, 선언된 어떤 요소에 내가 원하는 그 어떤 "값"을 집어 넣는 행위라고 보시면 됩니다.

msg = "" 은 msg라고 선언한 변수에 빈 문자열("")값을 대입시킨 겁니다.

 

(3) 변수

변수란 "변하는 수"를 의미합니다.  나중에 듣게될 "상수"라는 개념과 함께, 아주 중요한 개념중에 하나입니다.

다만, 지금은 그저 내가 원하는 걸 "잠시 저장해 두는 곳" 이라고 생각하시면 됩니다.

a = 10 이러면 a라는 공간에 10 이라는 값이 저장된 겁니다.

a = a + 1 이라고 하면 a에 저장된 10 이라는 값에 1을 더하게 되니 a 는 11과 같아집니다.

 

 

이제 실제 코드가 어떻게 동작하는지 확인해 볼까요?

 

실행버튼을 눌러서 프로그램일 실행시켜 봅시다.

다음과 같이 아무런 표시도 없는 CMD 화면이 보일 겁니다.

 

 

 

이제 여기에 키보드로 "Hello, world" 라고 입력해 봅시다.

엔터를 치면, 방금 입력한 값이 다시 출력되는 것을 볼 수 있습니다.

 

 

약간 수정해서 그럴싸하게 보이게 만들어 볼까요?

 

static void Main(string[] args)
{
	Console.WriteLine("안녕, 나는 컴퓨터야. 너는 이름이 뭐니?");
	string msg = Console.ReadLine();
	Console.WriteLine("안녕, " + msg + "아, 만나서 반가워.");
}

 

이번엔 코드를 위에 처럼 변경해 본 뒤 다시 실행버튼을 눌러봅시다.

 

보시는 바와 같이 마치 컴퓨터가 제게 이름을 묻고 있는 거 같네요.

이름을 입력하고 엔터를 쳐봅시다.

 

 

이런 결과가 나옵니다.

로슬린이란 값을 입력 받아 문장을 완성해서 출력하게 되는 겁니다.

 

코드가 이해 되시나요?

코드를 다시 한번 천천히 잘 살펴보며 이해해 보도록 노력해 보세요.

어렵게 생각할 필요 없습니다.

string msg란 변수에 Console.ReadLine이란 명령을 통해 내가 입력받은 문자열을 "대입" 시킨 겁니다.

그 다음에 WriteLine이란 명령을 통해 원하는 문자열과 합쳐서 화면에 출력하도록 하고 있습니다.

 

 

반응형

'프로그래밍공부 > C#기초' 카테고리의 다른 글

C# 프로그램 기초 - 08  (0) 2024.01.09
C# 프로그램 기초 - 07  (2) 2024.01.08
C# 프로그램 기초 - 05  (0) 2024.01.05
C# 프로그램 기초 - 04  (2) 2024.01.04
C# 프로그램 기초 - 03  (2) 2024.01.04