1. 과목 소개

평가 방법

  • 출석 20%
  • 중간고사 30%
  • 기말고사 30%
  • 리포트 20%

C# 이란?

Microsoft에서 개발한 객체지향 프로그래밍 언어다. Java를 참고해 만들었으며, .NET 플랫폼 위에서 동작한다. 강타입 언어로 컴파일 시점에 타입 오류를 잡아낸다.

.NET 플랫폼

C#이 실행되는 기반 플랫폼이다. 크게 세 가지 핵심 요소로 구성된다.

  • BCL (Base Class Library): 기본 클래스 라이브러리 — 문자열, 컬렉션, IO 등 기본 기능 제공
  • CLR (Common Language Runtime): 공통 언어 런타임 — 가비지 컬렉션, JIT 컴파일, 예외 처리 담당
  • CTS (Common Type System): 언어 간 타입 호환 규칙 정의

Framework vs Library

구분주체설명예시
Library내 코드필요할 때 내가 호출Newtonsoft.Json
Framework프레임워크프레임워크가 내 코드를 호출 — 제어의 역전(IoC)ASP.NET Core

C# 활용 분야

  • 게임 개발: Unity 엔진 — 모바일/PC/콘솔 게임
  • Windows 앱: WPF, WinForms, WinUI
  • 백엔드 서버: ASP.NET Core — REST API, gRPC
  • XR: AR/VR, Mixed Reality (HoloLens 등)
  • 모바일 앱: .NET MAUI — iOS/Android 크로스플랫폼
  • CLI 도구: 스크립트, 자동화 도구
  • 적합하지 않은 분야: 초소형 임베디드 시스템 (메모리/런타임 제약)

2. 개발환경 구축

.NET SDK 설치

  1. dotnet.microsoft.com 접속
  2. 최신 LTS 버전 SDK 다운로드 및 설치
  3. 설치 확인: 터미널에서 dotnet --version 실행

Visual Studio 2022 Community 설치

  1. visualstudio.microsoft.com에서 Community 버전 다운로드 (무료)
  2. 워크로드 선택 화면에서 .NET 데스크탑 개발 체크 (필수)
  3. 설치 완료 후 Microsoft 계정으로 로그인

프로젝트 생성 순서

  1. 새 프로젝트 만들기 클릭
  2. 템플릿: 콘솔 앱 (.NET) 선택
  3. 프로젝트 이름, 저장 위치 입력
  4. Framework: 최신 LTS 버전 선택 후 만들기

CodeLens 비활성화

코드 위에 참조 수 등 부가 정보를 표시하는 기능이다. 학습 초기에는 화면이 복잡해지므로 비활성화를 권장한다.

설정 경로: 도구 → 옵션 → 텍스트 편집기 → 모든 언어 → CodeLens → CodeLens 사용 체크 해제

Console 출력 메서드

Console.Write("Hello");      // 줄바꿈 없이 출력
Console.WriteLine("Hello");  // 출력 후 줄바꿈 (개행 포함)
  • Write: 커서가 같은 줄 끝에 머문다
  • WriteLine: 출력 후 다음 줄로 이동한다

퀴즈 정리

  • Q1. C#을 사용하기 어려운 분야는? → ④ 초소형 임베디드 시스템 (CLR 런타임 오버헤드 때문)
  • Q2. Hello World를 출력하는 올바른 코드는? → Console.Write("Hello World")