기초
5단원 · 시작·변수·연산자·제어문·메서드
01. C# 시작하기
기초 · 선수: 없음
C#은 마이크로소프트가 만든 정적 타입 언어로, 게임(Unity), 웹(ASP.NET), 데스크톱, 모바일까지 두루 쓰입니다. 이 단원에서는 .NET 8 SDK를 설치하고, 콘솔 프로젝트를 만들어 직접 실행해 봅니다.
02. 변수와 타입
기초 · 선수: 이전 단원
C#은 정적 타입 언어로, 변수마다 어떤 값을 담을지 선언 시점에 정해야 합니다. 이 단원에서는 값 타입(int·double·bool·char 등)과 참조 타입(string·object), 형변환, var 키워드를 익힙니다.
03. 연산자와 표현식
기초 · 선수: 이전 단원
연산자는 값을 조합해 새로운 값을 만들어 냅니다. 산술·비교·논리·할당·증감·null 병합·삼항·비트 연산자를 한 단원에서 정리합니다.
04. 제어문
기초 · 선수: 이전 단원
프로그램의 흐름을 분기·반복으로 제어합니다. if·else·switch 분기와 for·while·do-while·foreach 반복, 그리고 break·continue 를 익힙니다.
05. 메서드
기초 · 선수: 이전 단원
코드 묶음에 이름을 붙여 재사용하는 단위가 메서드입니다. 매개변수·반환값·오버로딩·ref/out/in·params·식 본문 메서드까지 살펴봅니다.
객체지향
5단원 · 클래스·프로퍼티·상속·다형성·인터페이스
06. 클래스와 객체
객체지향 · 선수: 메서드
데이터와 기능을 하나로 묶은 사용자 정의 타입이 클래스입니다. 필드·메서드·생성자·this·접근 제한자를 익히고, new 로 객체를 만들어 메모리 모형을 머릿속에 그려 봅니다.
07. 프로퍼티와 캡슐화
객체지향 · 선수: 클래스
필드를 그대로 외부에 열어 두면 무엇이든 일어날 수 있습니다. C# 의 프로퍼티는 외형은 필드처럼, 내부는 메서드처럼 동작해 캡슐화를 자연스럽게 만듭니다.
08. 상속
객체지향 · 선수: 프로퍼티
이미 있는 클래스의 멤버를 물려받아 새로운 클래스를 만드는 것이 상속입니다. base·virtual·override·sealed·protected 를 익혀 'is-a' 관계를 코드로 표현합니다.
09. 다형성
객체지향 · 선수: 상속
같은 호출 코드가 실제 객체 타입에 따라 서로 다르게 동작하는 것이 다형성입니다. virtual/override, abstract 클래스, 업캐스팅·다운캐스팅을 익힙니다.
10. 인터페이스
객체지향 · 선수: 다형성
인터페이스는 '이런 메서드들이 있어야 한다' 는 약속만 정의합니다. 다중 상속 대안, 의존성 역전, 테스트 친화 설계의 핵심 도구입니다.
컬렉션 · LINQ
4단원 · 배열·List/Dict/HashSet·제네릭·LINQ
11. 배열
컬렉션 · 선수: 객체지향
같은 타입의 데이터를 일렬로 저장하는 가장 기본적인 컬렉션이 배열입니다. 1차원·다차원·jagged 배열과 Array 정적 메서드, foreach 사용법까지 정리합니다.
12. List · Dictionary · HashSet
컬렉션 · 선수: 배열
System.Collections.Generic 의 핵심 컬렉션 세 가지를 한 단원에서 정리합니다. 가변 길이의 List<T>, 키-값 사전 Dictionary<TKey,TValue>, 중복 없는 집합 HashSet<T>.
13. 제네릭
컬렉션 · 선수: 컬렉션 기본
제네릭은 '타입을 매개변수로 받는 코드' 를 작성하는 기법입니다. List<T> 같은 컬렉션이 어떻게 만들어졌는지, 직접 제네릭 클래스·메서드·제약을 정의하는 방법을 익힙니다.
14. LINQ
컬렉션 · 선수: 제네릭
LINQ(Language Integrated Query)는 컬렉션을 SQL 처럼 선언적으로 다루는 C# 의 강력한 무기입니다. Where·Select·OrderBy·GroupBy·Aggregate·지연 실행까지 한 번에 정리합니다.
예외 · 입출력
3단원 · 예외처리·파일 IO·문자열 처리
15. 예외 처리
예외/IO · 선수: 객체지향
예상치 못한 상황을 안전하게 다루는 메커니즘이 예외 처리입니다. try/catch/finally, throw, 사용자 정의 예외, using 문까지 익혀 견고한 코드를 작성합니다.
16. 파일 입출력
예외/IO · 선수: 예외 처리
File·StreamReader·StreamWriter 로 텍스트 파일을 읽고 쓰고, Path·Directory 로 파일 시스템을 다룹니다. using 문으로 리소스를 안전하게 정리하는 패턴도 함께 익힙니다.
17. 문자열 처리
예외/IO · 선수: 파일 IO
문자열은 가장 흔히 다루는 데이터 타입입니다. 보간·Split·Join·Replace·Substring·Trim·StringBuilder·string.Format 까지 자주 쓰는 도구를 모아 정리합니다.
모던 C#
5단원 · 델리게이트·async·Nullable·패턴·record
18. 델리게이트와 람다
모던 C# · 선수: 메서드/객체지향
메서드를 값처럼 전달하는 도구가 델리게이트와 람다식입니다. Action·Func·Predicate, 람다 식 본문, 클로저, 이벤트까지 살펴봅니다.
19. async / await
모던 C# · 선수: 델리게이트
I/O 작업을 논블로킹으로 다루는 핵심 키워드가 async/await 입니다. Task·Task<T>·Task.WhenAll·예외 처리·취소까지 한 단원에서 정리합니다.
20. Nullable 참조 타입
모던 C# · 선수: 객체지향
C# 8 부터 들어온 NRT(Nullable Reference Types) 는 'null 일 수 있음' 을 타입에 표시해 NullReferenceException 을 컴파일 타임에 잡아 줍니다.
21. 패턴 매칭
모던 C# · 선수: 제어문/클래스
값의 모양에 따라 분기하는 강력한 도구가 패턴 매칭입니다. is·switch 식·속성 패턴·관계 패턴·논리 패턴·튜플 패턴까지 정리합니다.
22. record 와 init
모던 C# · 선수: 클래스/프로퍼티
C# 9 의 record 와 init 접근자는 '바뀌지 않는 값 객체' 를 짧고 안전하게 만드는 도구입니다. with 식·값 동등성·record struct 까지 살펴봅니다.