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 설치
dotnet.microsoft.com접속- 최신 LTS 버전 SDK 다운로드 및 설치
- 설치 확인: 터미널에서
dotnet --version실행
Visual Studio 2022 Community 설치
visualstudio.microsoft.com에서 Community 버전 다운로드 (무료)- 워크로드 선택 화면에서 .NET 데스크탑 개발 체크 (필수)
- 설치 완료 후 Microsoft 계정으로 로그인
프로젝트 생성 순서
- 새 프로젝트 만들기 클릭
- 템플릿: 콘솔 앱 (.NET) 선택
- 프로젝트 이름, 저장 위치 입력
- Framework: 최신 LTS 버전 선택 후 만들기
CodeLens 비활성화
코드 위에 참조 수 등 부가 정보를 표시하는 기능이다. 학습 초기에는 화면이 복잡해지므로 비활성화를 권장한다.
설정 경로: 도구 → 옵션 → 텍스트 편집기 → 모든 언어 → CodeLens → CodeLens 사용 체크 해제
Console 출력 메서드
Console.Write("Hello"); // 줄바꿈 없이 출력
Console.WriteLine("Hello"); // 출력 후 줄바꿈 (개행 포함)
Write: 커서가 같은 줄 끝에 머문다WriteLine: 출력 후 다음 줄로 이동한다
퀴즈 정리
- Q1. C#을 사용하기 어려운 분야는? → ④ 초소형 임베디드 시스템 (CLR 런타임 오버헤드 때문)
- Q2. Hello World를 출력하는 올바른 코드는? → ②
Console.Write("Hello World")