학습
C# 입출력 처리
C# 입출력 처리 — 초급
입출력 처리
1. 도입 (왜 배워야 하는가)
입출력 처리는 프로그래밍에서 기본 중의 기본입니다. 모든 프로그램은 사용자와 소통해야 하며, 이를 위해 데이터를 입력받고 결과를 출력하는 과정이 필수적입니다. 예를 들어, 여러분이 만든 쇼핑몰 애플리케이션에서 사용자가 상품을 검색하고 장바구니에 추가한 후 결제하는 과정은 모두 입출력 처리에 해당합니다. 이 과정이 원활하지 않으면 사용자 경험이 나빠지고, 결국 프로그램의 신뢰성을 떨어뜨릴 수 있습니다.
입출력 처리를 모르면, 사용자로부터 데이터를 받거나 처리 결과를 보여주는 것이 불가능해집니다. 이로 인해 프로그램이 완성되지 않거나, 사용자가 원하는 기능을 제공하지 못하게 됩니다.
2. 핵심 개념 설명
입출력 처리에는 크게 두 가지 개념이 있습니다: 입력(Input)과 출력(Output)입니다.
- 입력(Input): 프로그램이 사용자로부터 데이터를 받는 과정입니다. 사용자가 키보드로 값을 입력하거나 파일에서 데이터를 읽어오는 것이 이에 해당합니다.
- 출력(Output): 프로그램이 처리한 결과를 사용자에게 보여주는 과정입니다. 이는 콘솔에 메시지를 출력하거나 파일에 결과를 저장하는 등의 작업을 포함합니다.
관련 용어 정리
| 용어 | 설명 |
|---|---|
| Console | C#에서 표준 입력 및 출력을 처리하는 클래스 |
| ReadLine | 사용자로부터 한 줄의 입력을 받는 메서드 |
| WriteLine | 출력할 내용을 콘솔에 표시하는 메서드 |
3. 기본 코드 예제
아래는 C#에서 사용자로부터 이름을 입력받고, 해당 이름을 출력하는 간단한 예제입니다.
using System;
class Program
{
static void Main()
{
// 사용자에게 이름을 입력하라고 요청합니다.
Console.Write("이름을 입력하세요: ");
// 사용자가 입력한 이름을 받아옵니다.
string name = Console.ReadLine();
// 입력받은 이름을 출력합니다.
Console.WriteLine("안녕하세요, " + name + "님!");
}
}
실행 결과
이름을 입력하세요: 홍길동
안녕하세요, 홍길동님!
코드 한 줄씩 동작 설명
using System;: System 네임스페이스를 사용합니다. Console 클래스가 포함되어 있습니다.class Program: Program이라는 클래스를 정의합니다.static void Main(): 프로그램의 시작점인 Main 메서드를 정의합니다.Console.Write("이름을 입력하세요: ");: 사용자에게 이름을 입력하라는 메시지를 출력합니다.string name = Console.ReadLine();: 사용자가 입력한 값을 읽어와서 name 변수에 저장합니다.Console.WriteLine("안녕하세요, " + name + "님!");: 입력받은 이름을 포함한 인사 메시지를 출력합니다.- 올바른 코드:
- 올바른 코드:
- 입출력 처리는 사용자와 프로그램 간의 소통을 담당합니다.
- Console 클래스의 ReadLine과 WriteLine 메서드를 사용하여 입력과 출력을 처리합니다.
- 사용자 입력을 받을 때는 항상 변환을 고려해야 합니다.
- 다음에 학습하면 좋은 주제: 파일 입출력, 예외 처리, 데이터 직렬화.
4. 실전 활용 예제
예제 1: 쇼핑몰 장바구니 구현
쇼핑몰 애플리케이션에서 사용자가 장바구니에 상품을 추가할 때, 상품명을 입력받고 확인 메시지를 출력하는 간단한 코드를 작성해봅시다.
using System;
class ShoppingCart
{
static void Main()
{
Console.Write("장바구니에 추가할 상품명을 입력하세요: ");
string productName = Console.ReadLine();
Console.WriteLine(productName + "이(가) 장바구니에 추가되었습니다.");
}
}
실행 결과
장바구니에 추가할 상품명을 입력하세요: 노트북
노트북이(가) 장바구니에 추가되었습니다.
예제 2: 사용자 입력을 통한 계산기
사용자가 두 숫자를 입력하고, 그 합을 출력하는 계산기 프로그램입니다.
using System;
class Calculator
{
static void Main()
{
Console.Write("첫 번째 숫자를 입력하세요: ");
int num1 = Convert.ToInt32(Console.ReadLine());
Console.Write("두 번째 숫자를 입력하세요: ");
int num2 = Convert.ToInt32(Console.ReadLine());
int sum = num1 + num2;
Console.WriteLine("두 숫자의 합은: " + sum);
}
}
실행 결과
첫 번째 숫자를 입력하세요: 5
두 번째 숫자를 입력하세요: 10
두 숫자의 합은: 15
5. 흔한 실수와 주의사항
실수 1: 입력값을 변환하지 않음
string age = Console.ReadLine();
int ageInt = age; // 오류 발생
int ageInt = Convert.ToInt32(age);
실수 2: ReadLine 후 변수를 사용하지 않음
Console.ReadLine(); // 입력받은 값을 사용하지 않음
string input = Console.ReadLine(); // 입력받은 값을 변수에 저장