C# · 커리큘럼
C# 커리큘럼
문법을 처음부터 차근히 쌓아 갑니다. 각 문법이 몇 버전부터 사용할 수 있는지도 함께 적습니다.
1부
기초
변수부터 예외 처리까지, 프로그램을 이루는 가장 작은 조각들입니다.
- 1.1 개발 환경 설정 .NET SDK 와 편집기를 갖추고 dotnet 명령으로 첫 프로젝트를 만듭니다.
- 1.2 Hello World와 프로그램 구조 프로그램이 어디서 시작하는지, 최상위 문(top-level statements)이 무엇인지 봅니다.
- 1.3 변수와 데이터 타입 값을 담는 상자에 이름을 붙이는 법, 그리고 C#이 그 상자의 모양(타입)을 왜 미리 정해두라고 하는지 알아봅니다.
- 1.4 연산자와 형변환 값을 셈하고 견주는 기호들과, 타입을 바꿔 담는 방법입니다.
- 1.5 조건문 if 와 switch 로 조건에 따라 다른 코드를 실행합니다. switch 식도 함께 봅니다.
- 1.6 반복문 for · while · foreach · do-while 로 같은 일을 되풀이합니다.
- 1.7 배열과 컬렉션 기초 값을 여럿 담는 Array 와 List 를 다룹니다.
- 1.8 메서드 기초 매개 변수와 반환값, 그리고 같은 이름을 여럿 두는 오버로딩입니다.
- 1.9 문자열 처리 String 과 StringBuilder, 그리고 보간 문자열입니다.
- 1.10 예외 처리 기초 try-catch-finally 로 잘못된 상황을 다룹니다.
2부
객체지향
데이터와 그것을 다루는 일을 하나로 묶는 방법입니다.
- 2.1 클래스와 객체 틀(클래스)과 그것으로 찍어 낸 것(객체)의 관계입니다.
- 2.2 필드, 프로퍼티, 접근 제한자 안에 담는 것과 밖에 내보이는 것을 구분합니다.
- 2.3 생성자와 초기화 객체가 만들어질 때 무엇을 갖추어야 하는지 정합니다.
- 2.4 상속과 다형성 이미 있는 것을 물려받아 확장하고, 같은 이름으로 다르게 움직이게 합니다.
- 2.5 추상 클래스와 인터페이스 덜 만든 틀과, 약속만 적어 둔 것의 차이입니다.
- 2.6 캡슐화와 설계 원칙 무엇을 감추고 무엇을 드러낼지 정하는 기준입니다.
- 2.7 정적 멤버와 구조체 객체마다 두지 않는 것, 그리고 값으로 다루는 형식입니다.
- 2.8 열거형 정해진 값 몇 가지에 이름을 붙입니다.
- 2.9 연산자 오버로딩 내가 만든 형식에도 + 와 == 를 사용하게 합니다.
3부
중급 문법
실무에서 자주 사용하는 문법들입니다.
- 3.1 제네릭 형식을 나중에 정하는 틀을 만듭니다.
- 3.2 컬렉션 심화 Dictionary · HashSet · Queue · Stack 을 선택해 사용합니다.
- 3.3 LINQ 기초 데이터를 조건에 따라 선별하고 수집합니다. LINQ의 쿼리 구문과 메서드 구문을 함께 확인합니다.
- 3.4 델리게이트와 이벤트 메서드를 값처럼 넘기고, 일이 일어났을 때 알립니다.
- 3.5 람다식과 함수형 스타일 이름 없는 짧은 메서드로 코드를 줄입니다.
- 3.6 Nullable 참조 형식 값이 없을 수 있는 자리를 컴파일러가 함께 지키게 합니다.
- 3.7 예외 처리 심화 내가 만든 예외와 예외 필터입니다.
- 3.8 파일 입출력 파일을 읽고 씁니다.
- 3.9 컬렉션 초기화자와 패턴 매칭 기초 값의 모양에 따라 처리를 정합니다.
4부
고급 문법
비동기와 성능, 그리고 최근에 들어온 문법들입니다.
- 4.1 비동기 프로그래밍 async/await 와 Task 로 기다리는 동안 다른 일을 합니다.
- 4.2 멀티스레딩 기초 일을 여러 개로 나누어 함께 돌립니다.
- 4.3 리플렉션과 어트리뷰트 형식을 실행 중에 들여다보고, 코드에 표를 붙입니다.
- 4.4 델리게이트 심화 함수형 인터페이스와 조합입니다.
- 4.5 record, init-only, with 식 값으로 비교하는 형식과, 고쳐 만든 사본입니다.
- 4.6 패턴 매칭 심화 겹쳐 놓은 패턴과 record 분해입니다.
- 4.7 소스 제너레이터 개념 빌드할 때 코드를 만들어 내는 방식입니다.
- 4.8 메모리와 성능 Span<T> 와 값 형식으로 메모리를 덜 사용하고 빠르게 합니다.
- 4.9 Nullable 참조 형식 실전 이미 있는 코드에 뒤늦게 들이는 방법입니다.
5부
실전 프로젝트
배운 것을 묶어 작은 프로그램을 만듭니다. 단원마다 따로 완결됩니다.
함께 보기
C# 버전별 변경 이력
어느 문법이 몇 버전부터 사용할 수 있는지 한자리에서 봅니다.
이어지는 트랙
ASP.NET Core 커리큘럼
C# 을 익힌 뒤 웹 백엔드로 넘어가는 길입니다.