C# 기본 문법: 타입 및 변수
2강: C# 기본 문법 탐험대 - 타입 & 변수: 코드의 숨겨진 보석을 찾아보자!
안녕하세요, 코딩 세상에 발을 들여놓은 용감한 여러분! 👋 C# 이라는 멋진 언어로 함께 탐험을 시작할 준비가 되셨나요? 오늘은 타입과 변수라는 코드 세계의 핵심 보석들을 만져보며, 마치 마법처럼 작동하는 컴퓨터와 소통하는 기본 도구를 배우게 될 거예요!
진짜 신기하죠? 우리가 단순히 텍스트를 입력하는 게 아니라, 컴퓨터에게 정확한 정보를 전달해서 원하는 결과를 끌어내는 마법 같은 능력을 갖추게 될 거예요! 💫
🧙♂️ 타입: 데이터의 정체성을 밝혀내다
타입이란 간단히 말해 데이터가 무엇인지 알려주는 설명서와 같아요. 숫자, 문자, 불리언(참/거짓) 등 다양한 종류가 있죠. 마치 옷을 입을 때 사이즈를 확인하는 것처럼, 컴퓨터는 데이터의 타입을 알면 올바르게 처리할 수 있어요!
기본 타입 예시:
1. 정수 타입 (int)
int age = 25; // 나이는 정수로 표현되는 경우가 많죠!
Console.WriteLine("당신의 나이는 " + age + "살 입니다.");
// 출력: 당신의 나이는 25살 입니다.
- 설명: 여기서
age변수는 숫자를 저장하는데 사용되고, 정수 타입int로 선언되었어요. 나이는 소수점이 없는 정수이기 때문에 적합하죠! - 왜 이렇게 썼나요?
int타입은 메모리를 효율적으로 사용하면서도 정수 연산에 최적화되어 있어요. 만약 소수점이 필요했다면double타입을 사용했을 거예요.
2. 문자열 타입 (string)
string greeting = "안녕하세요!"; // 인사말은 문자열로 표현하기 좋죠!
Console.WriteLine(greeting); // 출력: 안녕하세요!
- 설명:
string타입은 텍스트 데이터를 담는 데 사용돼요. 따옴표로 문자열을 감싸주는 것 잊지 마세요! - 꿀팁: 문자열은
+연산자로 쉽게 연결할 수 있어요. 예를 들어,Console.WriteLine("이름: " + name + ", 나이: " + age);처럼 사용하면 더욱 자연스러운 출력이 가능해요!
3. 불리언 타입 (bool)
bool isLoggedIn = true; // 로그인 상태를 나타내는 불리언 변수
Console.WriteLine("로그인 상태: " + isLoggedIn); // 출력: 로그인 상태: True
- 설명:
bool타입은 참(true) 또는 거짓(false) 두 가지 값만 가질 수 있어요. 프로그램의 흐름을 제어하는 데 매우 중요해요! - 실무 활용: 조건문에서 자주 사용되는데, 예를 들어 로그인 여부를 확인하는 코드에서 유용하게 쓰일 거예요.
💡 초보자 폭풍 질문! 💡
Q: 타입이 왜 중요할까요?
A: 타입은 코드의 안정성과 예측 가능성을 높여줍니다. 잘못된 타입으로 데이터를 처리하면 프로그램이 예상치 못한 오류를 일으키거나 잘못된 결과를 낼 수 있어요. 타입을 명확히 지정함으로써 컴파일러가 오류를 미리 찾아주고, 코드를 더 명확하고 이해하기 쉽게 만들어줘요!
### 변수: 데이터의 컨테이너
타입을 알았으니 이제 변수라는 데이터를 담아둘 공간을 만들어볼게요! 변수는 단순히 이름을 붙인 컨테이너라고 생각하면 돼요.
변수 선언 예시:
1. 단순 변수 선언
double price = 19.99; // 상품 가격을 저장할 변수 선언
Console.WriteLine("상품 가격: " + price); // 출력: 상품 가격: 19.99
- 설명:
price라는 이름의 변수를double타입으로 선언하고, 19.99라는 값을 할당했어요. 마치 상자에 물건을 넣는 것처럼 데이터를 저장하는 거죠!
2. 초기값 부여
int count = 0; // 사용자 클릭 횟수를 저장할 변수 초기화
count++; // 클릭 한번 증가
Console.WriteLine("클릭 횟수: " + count); // 출력: 클릭 횟수: 1
- 설명: 변수를 선언할 때 초기값을 함께 넣어주면, 코드 실행 시작 시점부터 변수가 준비되어 있어요.
count++는 카운터를 증가시키는 간단하지만 강력한 방법이죠!
3. 타입 추론 (Type Inference)
var name = "파이 개발자"; // 타입을 명시하지 않아도 컴파일러가 추론
Console.WriteLine("개발자 이름: " + name); // 출력: 개발자 이름: 파이 개발자
- 설명:
var키워드를 사용하면 컴파일러가 변수 타입을 자동으로 결정해줘요. 편리하죠? 하지만 코드를 읽는 사람에게 타입 정보가 명확하지 않을 수 있으니 주의가 필요해요.
🚨 실무주의보 🚨
변수명은 의미 있게!
코드를 읽는 사람(그리고 미래의 당신!)을 위해 변수 이름은 직관적이고 의미 있게 지어주세요. 예를 들어, x나 data보다 customerAge나 totalSales처럼 훨씬 이해하기 쉬워요!
반복문과 함께하는 타입 & 변수 활용: 실전 예시
타입과 변수를 배우셨으니, 이제 좀 더 실용적인 예제로 연습해볼까요? 반복문을 이용해 타입에 맞는 데이터를 처리하는 방법을 알아볼게요.
1. for 문: 숫자 리스트 출력
string[] numbers = { "하나", "둘", "셋", "넷" }; // 문자열 배열 선언
for (int i = 0; i < numbers.Length; i++) // 인덱스 i를 사용해 배열 순회
{
Console.WriteLine(numbers[i]); // 각 요소 출력
}
// 출력:
// 하나
// 둘
// 셋
// 넷
- 설명:
for문은 반복 횟수가 정해진 경우에 유용해요. 여기서는 문자열 배열numbers를 순회하며 각 요소를 출력합니다.i < numbers.Length조건으로 배열의 끝까지 안전하게 반복할 수 있어요.
**2. while 문: 사용자 입력 처리
string input;
int count = 0;
while (true) // 무한 루프 예시
{
Console.WriteLine("숫자를 입력하세요 (종료하려면 'q'):");
input = Console.ReadLine(); // 사용자 입력 받기
if (input == "q") // 종료 조건
{
break; // 루프 종료
}
if (double.TryParse(input, out double number)) // 숫자 변환 시도
{
count++; // 유효한 숫자 입력 시 카운트 증가
Console.WriteLine("총 입력 횟수: " + count);
}
else
{
Console.WriteLine("잘못된 입력입니다. 다시 시도하세요.");
}
}
- 설명:
while (true)로 무한 루프를 만들어 사용자 입력을 계속 받습니다.double.TryParse를 사용해 입력이 숫자인지 확인하고, 유효한 숫자라면 카운트를 증가시켜요.'q'입력으로 루프를 종료할 수 있어요.
**3. do-while 문: 최소한 한 번 실행 보장
int guess = 0;
bool correct = false;
do
{
Console.WriteLine("비밀 숫자를 추측해보세요 (1~10):");
if (int.TryParse(Console.ReadLine(), out guess))
{
if (guess >= 1 && guess <= 10)
{
if (guess == 7) // 정답
{
correct = true;
Console.WriteLine("정답입니다!");
}
else
{
Console.WriteLine("아니요, 다시 시도하세요.");
}
}
else
{
Console.WriteLine("범위를 벗어나셨습니다.");
}
}
else
{
Console.WriteLine("올바른 숫자를 입력하세요.");
}
} while (!correct); // 정답 찾을 때까지 반복
- 설명:
do-while문은 최소한 한 번은 실행되어야 하는 상황에 적합해요. 이 예제에서는 사용자가 정답(7)을 맞출 때까지 계속해서 추측을 요청합니다.
마무리: 코드 마법의 기초를 다졌어요!
오늘 배운 타입과 변수는 코딩의 기본 토대를 이루는 핵심 개념이에요. 마치 마법의 주문을 익히는 것처럼, 이 기본을 탄탄히 다지면 복잡한 프로그램도 쉽게 만들어갈 수 있을 거예요! 🤩
다음 강의에서는 조건문과 함께 더 흥미로운 코드 세계로 모험을 떠나볼게요! 그때까지 연습 꾸준히 해보시고, 궁금한 점은 언제든지 질문해주세요! 👋
<hr>