Console.WriteLine("안녕, 나는 컴퓨터야. 너는 이름이 뭐니?");
string msg = Console.ReadLine();
Console.WriteLine("안녕, " + msg + "아, 만나서 반가워.");
우리는 이와 같이 사용자로부터 값을 입력받아 인삿말을 건네는 콘솔앱을 만들었습니다.
하지만 사용자는 항상 우리의 의도대로 움직여주지 않습니다.
사용자가 값을 입력했는지 확인을 할 필요가 있습니다.
그래서 우리는 if문을 이용해 사용자가 값을 제대로 입력했는지 확인하고, 그에 따라 "분기"를 하고자 합니다.
Console.WriteLine("안녕, 나는 컴퓨터야. 너는 이름이 뭐니?");
string msg = Console.ReadLine();
if (string.IsNullOrWhiteSpace(msg))
{
Console.WriteLine("이름을 입력하세요.");
//처음으로 돌아가기
}
else
{
Console.WriteLine("안녕, " + msg + "아, 만나서 반가워.");
}
여러분 이번 코드에는 // 로 시작하는 문자열이 보이실 거예요. 이는 "주석"이라는 개념으로 거의 모든 프로그램에서 공통적으로 사용되는 개념이랍니다. 주석은 프로그래밍 코드에서 사용되는 특별한 문장으로, 컴퓨터가 이해하지 않지만 사람이 코드를 읽을 때 도움이 되도록 작성하는 것이에요. 이것은 주로 코드에 설명이나 메모를 남기기 위해 사용돼요. 예를 들어, 초콜릿을 만들기 위한 레시피가 있다고 상상해봐요. 레시피에는 어떤 재료를 사용해야 하는지, 어떤 순서로 진행해야 하는지 등이 적혀 있을 거에요. "//" 주석은 마치 그 레시피에 쓰여진 메모처럼, 코드에 어떤 일이 일어나는지에 대한 설명을 적을 때 사용돼요.
코드를 위와 같이 수정해 봅시다.
if 문 다음에 괄호() 안에 if 문에서 판단할 조건을 넣어줍니다.
여기서는 string.IsNullOrWhiteSpace 라는 함수를 호출하고 있습니다.
이 함수는 전달된 파라미터(msg) 가 Null 이거나 또는 비어있거나(Empty), 공백문자열(WhiteSpace) 인지를 판단해 줍니다.
안에 공백문자열이나 null, 또는 비어있으면 참(True)를 반환하고, 그렇지 않을 경우 거짓(False)을 반환합니다.
여기서 잠깐!
Null 이라는 생소한 표현을 만났습니다. Null과 Empty는 기본적으로 비슷한 표현이지만 엄연히 다른 존재입니다. 가장 흔한 비유로 화장실 휴지를 많이 사용하곤 합니다.
위 그림에서 왼쪽 그림을 보면, 휴지가 꽃혀져 있지만 실제 내용물이 없습니다. 이같은 상태를 엠프티(Empty), 즉 비어있는 상태라고 표현합니다. 오른쪽에는 아예 휴지 자체가 꽃혀 있지 않습니다. 이 상태를 널(Null), 아예 존재하지 않는 상태를 의미합니다.
if 문 아래 코드블럭은 조건이 참인 경우 수행되고, else 문 아래 코드블럭은 조건이 거짓인 경우에 수행됩니다.
그럼 실행시켜 볼까요?
실행시킨 다음에 이름을 입력하지 않고, 엔터를 치자, 이름을 입력하세요란 메시지가 보입니다.
다시 실행해서 이번에는 이름을 입력해 봅니다.
이번에는 Roslyn이란 이름을 입력하자, 원래대로 인삿말이 출력됩니다.
이처럼 if 문을 이용해서 사용자가 입력했는지 여부에 따라 분기하는 코드를 작성해 봤습니다.