“C# 초급자를 넘어, 실무에서 바로 활용 가능한 고급 기술을 배우는 심화 과정!
파일 I/O부터 멀티스레딩, UI, 네트워크, DB 연동까지 C#의 핵심 역량을 모두 다룹니다.”
본 강좌는 C#의 기본 문법을 익힌 학습자를 위한 종합 심화 강좌입니다.
파일 시스템 제어, 효율적인 멀티스레딩 및 비동기 프로그래밍, 사용자 친화적인 WinForm UI 제작, 그리고 네트워크 통신 및 데이터베이스 연동까지, 실무 프로젝트에 필수적인 고급 기술들을 체계적으로 다룹니다.
이론과 실습을 병행하며 복잡한 개념을 명확히 이해하고, 직접 코드를 작성하며 문제 해결 능력을 키울 수 있습니다.
이 강좌를 통해 C# 전문가로 성장하는 발판을 마련하세요.
🔹파일, 디렉터리, 스트림 등 파일 시스템을 자유자재로 다루고, 이진/텍스트 파일 입출력 및 객체 직렬화를 구현할 수 있습니다.
🔹스레드와 태스크의 차이를 이해하고, lock이나 Monitor 클래스를 활용해 멀티스레딩 환경에서 발생할 수 있는 문제를 해결할 수 있습니다.
🔹WinForm을 이용해 다양한 컨트롤을 배치하고, 사용자의 입력에 반응하는 UI 프로그램을 만들 수 있습니다.
🔹TCP/IP 프로토콜을 기반으로 서버-클라이언트 통신을 구현하고, MySQL과 연동하여 데이터베이스를 활용하는 프로그램을 만들 수 있습니다.
🔹C# 기초 문법은 알고 있지만, 실무에 필요한 고급 기술을 배우고 싶은 분
🔹멀티스레딩, 비동기 프로그래밍, 네트워크 등 복잡한 개념을 명확히 이해하고 싶은 개발자
🔹포트폴리오에 활용할 수 있는 파일 처리, DB 연동 등 실용적인 프로그램을 만들고 싶은 분
강좌는 C# 고급 기술을 크게 네 가지 주제로 나누어 깊이 있게 다룹니다.
1️⃣ 파일 I/O 및 직렬화
C#에서 파일을 다루는 가장 기본적인 방법부터 시작합니다.
Directory, File, Stream 클래스를 이용해 파일 정보를 조회하고, 생성, 삭제하는 방법을 배웁니다.
이진/텍스트 파일을 읽고 쓰는 실습을 통해 파일 I/O에 대한 이해를 높이고, 객체 직렬화/역직렬화를 통해 복잡한 데이터를 파일에 저장하고 불러오는 기술을 익힙니다.
2️⃣ 스레드와 태스크
멀티스레딩의 핵심 개념인 프로세스와 스레드의 차이점을 배우고, Thread 클래스를 활용해 스레드를 생성하고 제어하는 방법을 실습합니다.
lock 키워드와 Monitor 클래스를 이용한 스레드 동기화 방법을 심도 있게 다룹니다.
더 나아가, Task와 async/await를 활용한 비동기 프로그래밍을 배우며, 효율적인 멀티코어 프로그래밍 능력을 갖춥니다.
3️⃣ WinForm 사용자 인터페이스
GUI 기반의 데스크톱 애플리케이션을 만드는 WinForm에 대해 학습합니다.
폼 디자이너 툴을 활용해 버튼, 콤보박스, 프로그레스바 등 다양한 컨트롤을 배치하고, 사용자의 이벤트에 반응하는 프로그램을 만듭니다.
파일 복사 프로그램을 예제로 동기/비동기 작업의 UI 반응 차이를 직접 확인하며 실무적인 이해를 높입니다.
4️⃣ 네트워크 및 DB 연동
실용적인 애플리케이션 제작에 필수적인 네트워크 프로그래밍과 데이터베이스 연동을 다룹니다.
TCP/IP 프로토콜의 원리를 이해하고, TcpListener와 TcpClient 클래스를 활용해 간단한 채팅 프로그램을 만듭니다.
마지막으로, MySQL을 설치하고 C#과 연동하여 회원 가입 시스템을 만드는 프로젝트를 완성합니다.
1. 01강 이론-파일, 디렉터리 개념, 다루는 클래스들, 사용 방법, 예제 설명 37분
2. 02강 이론-파일, 디렉터리 정보, 생성하는 예제, 스트림, 순차 접근, 임의 접근 개념 설명 39분
3. 03강 실습-Directory, DirectoryInfo, File, FileInfo 클래스를 활용한 정보 조회 프로그램 작성 35분
4. 04강 실습-WinForm을 이용한 파일 생성, 쓰기, 삭제 프로그램 작성 60분
5. 05강 이론-Stream클래스, 파생 클래스 종류, 사용방법, 리틀 엔디안, 빅 엔디안 개념, 예제 설명 39분
6. 06강 실습-FileStream클래스, 바이트 배열을 이용한 파일 생성, 기록, 읽어오는 프로그램 작성 38분
7. 07강 이론-Stream클래스의 Position프로퍼티 개념, Seek()메소드, using 선언 방식, 예제 설명 27분
8. 08강 실습-Position프로퍼티, Seek()메소드, using 선언 방식을 이용한 프로그램 작성 34분
9. 09강 이론-이진 데이터 처리를 위한 BinaryWriter, BinaryReader클래스 사용 방법, 장점, 예제 설명 37분
10. 10강 실습-BinaryWriter, BinaryReader클래스, using 선언문을 이용하여 이진 파일 쓰고 읽는 프로그램 작성 35분
11. 11강 이론-텍스트 파일 처리를 위한 StreamWriter, StreamReader 클래스, 객체 직렬화, 역직렬화 개념, 사용 방법, 예제 설명 39분
12. 12강 실습-StreamWriter, StreamReader 클래스, using 선언문을 이용하여 텍스트 파일, 소스 파일 쓰고 읽는 프로그램 작성 24분
13. 13강 실습- JsonSerializer 클래스를 이용한 객체 직렬화, 역직렬화하는 프로그램 작성 30분
14. 14강 이론, 실습- 컬렉션을 JsonSerializer 클래스로 직렬화, 역직렬화 설명 및 프로그램 작성 22분
15. 01강 이론-프로세스, 스레드 개념, 멀티 스레드의 장점과 단점 설명 37분
16. 02강 이론-스레드 생성, 사용 방법, Start(, Join(), Abort() 메소드 역할, 스레드 임의 종료, 예제 설명 39분
17. 03강 실습-스레드 생성, Start(), Join() 메소드, 우선순위, 스레드 ID 얻어서 스레드 작동을 확인하는 프로그램 작성 34분
18. 04강 실습-스레드 생성 여러 방법, ParameterizedThreadStart 대리자 파라미터 전달, 람다식 2개 이상 파라미터 전달 프로그램 작성 30분
19. 05강 실습-스레드 임의 종료하기, Abort(), .NET Framework 4.8의 Abort()를 이용한 프로그램 작성 40분
20. 06강 이론-스레드의 상태, ThreadState 열거형, 상태 변화 규칙, 비트 필드 개념, 사용 이유, 예제 설명 38분
21. 07강 실습-예제 코드로 ThreadState 확인, ThreadState 열거형 타입 확인을 위한 프로그램 작성 36분
22. 08강 실습-ThreadState 열거형 타입에 Flags 애트리뷰트가 존재하는 이유를 확인을 위한 프로그램 작성 22분
23. 09강 이론-스레드를 임의로 종료하는 다른 방법인 Thread.Interrupt()메소드 개념과 Abort()메소드와의 차이점 설명 33분
24. 10강 실습-Thread.Interrupt()메소드, Thread.Sleep() 메소드를 활용하여 예외 발생시켜 스레드 정상 종료 프로그램 작성 37분
25. 11강 이론-스레드 간 동기화 개념, 크리티컬 섹션 개념, lock 키워드로 동기화 하기, 주의할 점, 예제 설명 40분
26. 12강 실습-동기화 되지 않은 스레드의 문제점, lock 키워드 사용 스레드 간 동기화 프로그램 작성 39분
27. 13강 실습-lock 키워드 매개변수에 사용되지 말아야 할 내용들을 확인하는 프로그램 작성 32분
28. 14강 이론-Monitor 클래스로 동기화, Monitor.Wait()와 Monitor.Pulse()로 하는 저수준 동기화, 예제 설명 40분
29. 15강 실습-Monitor 클래스 Enter(), Exit()로 동기화 처리, Monitor.Wait()와 Monitor.Pulse()로 하는 동기화 프로그램 작성 48분
30. 16강 실습-Message 공유 객체로 Monitor 클래스 Monitor.Wait(), Monitor.Pulse()로 상세 동기화 프로그램 작성 28분
31. 17강 이론-Thread와 Task 차이점과 역할, 동기와 비동기의 개념 및 차이점, 예제 설명 37분
32. 18강 이론-Task의 Run()메소드의 기능, 비동기 실행 결과 리턴하는 Task 일반화 클래스, 예제 설명 44분
33. 19강 실습-Action 대리자 Task 생성자 인수로 넣는 Task 생성, 비동기 실행, Start(), Wait(), Task.Run()를 이용한 프로그램 작성 32분
34. 20강 실습-비동기 실행 결과 리턴하는 Task 일반화 클래스를 이용한 프로그램 작성 40분
35. 21강 실습-Task 일반화 클래스에 Func 대리자와 Task배열을 이용한 소수 구하고 Task의 개수에 따라 걸린 시간 프로그램 작성 44분
36. 22강 이론-Parallel 클래스의 사용 방법, async한정자와 await연산자 개념 및 역할, 예제 설명 41분
37. 23강 실습-Parallel 클래스, For(), ForEach(), invoke()메소드를 통한 프로그램 작성 41분
38. 24강 실습-async한정자와 await연산자를 이용한 비동기 프로그램 작성 37분
39. 25강 이론-비동기 API, System.IO.Stream클래스의 동기 메소드 Read(), Write(), 비동기 메소드 ReadAsync(), WriteAsync(), 예제 설명 29분
40. 26강 실습-System.IO.Stream클래스 비동기 메소드 ReadAsync(), WriteAsync()로 파일 복사 프로그램 작성 36분
41. 01강 이론-WinForm에서 제공하는 폼 디자이너 툴 소개, C# 코드로 WinForm윈도우 만들기 방법 설명 33분
42. 02강 이론-Application 클래스, Run(), Exit() 역할, 메시지 필터링 개념, Message 구조체 프로퍼티, 예제 설명 46분
43. 03강 실습-WinForm윈도우 생성, Application클래스의 Run(), Exit(), 클릭 이벤트 핸들러 등록하는 프로그램 작성 35분
44. 04강 실습-Application클래스의 MessageFiltering 기능을 이용하는 프로그램 작성 39분
45. 05강 이론-Form 클래스, 정의된 이벤트, 이벤트 처리기 연결, 윈도우 모양 결정 짓는 프로퍼티, 예제 설명 37분
46. 06강 실습-정의된 이벤트에 이벤트 처리기 연결, 윈도우 프로퍼티 Width, Height를 이용 윈도우 너비, 높이 변경 프로그램 실습 39분
47. 07강 이론-윈도우 프로퍼티 BackColor, Opacity, BackgroundImage, 창의 최대, 최소화, 폼위에 컨트롤 올리는 방법, 예제 설명 37분
48. 08강 실습-BackColor, Opacity, BackgroundImage 프로퍼티를 이용한 프로그램 작성 36분
49. 09강 실습-창의 최대, 최소화, 폼 위에 버튼 컨트롤 올리는 프로그램 작성 25분
50. 10강 이론-Windows Forms 앱 프로젝트 생성 후, 폼 디자이너 툴을 활용하여 컨트롤 배치, 프로퍼티 설정, 이벤트 설정, 처리기 설정 설명 44분
51. 11강 실습-WinForm 프로젝트 생성, GroupBox, Label, ComboBox, CheckBox, TextBox 컨트롤, 프로퍼티, 이벤트처리기 설정 프로그램 작성 44분
52. 12강 이론-TrackBar, ProgressBar, Button, Dialog, Modal, Modaless창, TreeView, ListView 컨트롤 개념, 예제 설명 42분
53. 13강 실습-TrackBar, ProgressBar, Button, Dialog, Modal, Modaless창 컨트롤 및 이벤트처리기를 통한 프로그램 작성 36분
54. 14강 실습-TreeView, ListView 컨트롤 및 이벤트처리기를 통한 프로그램 작성 37분
55. 15강 이론-사용자 인터페이스와 동기 작업, 비동기 작업에 대한 UI의 반응 차이, 예제 설명 29분
56. 16강 실습-파일 복사 UI 만들고, 동기 작업, 비동기 작업에 대한 UI의 반응 차이 프로그램 작성 43분
57. 01강 이론-WCF, .NET Remoting, XML Web Services 개념, 인터넷의 유래에 대한 설명 36분
58. 02강 이론-TCP, IP 스택의 프로토콜, 링크 계층, 패킷 개념과 구조에 대한 설명 38분
59. 03강 이론-인터넷 계층, 전송 계층, TCP, IP, UDP 프로토콜, 애플리케이션 계층, IP 주소 2가지 버전, 포트에 대한 설명 40분
60. 04강 이론-TCP, IP의 동작과정, TcpListener와 TcpClient클래스의 메소드, NetworkStream 객체, 루프백, 예제 설명 54분
61. 05강 실습-Socket 클래스를 활용한 텍스트 수신 및 송신 프로그램 작성 39분
62. 06강 실습-TcpListener와 TcpClient 클래스를 활용한 네트워크 프로그래밍 작성 39분
63. 07강 실습-WinForm으로 서버 측 UI 구성 및 프로그램 작성 35분
64. 08강 실습-WinForm으로 클라이언트 측 UI 구성 및 서버와의 통신 확인 프로그램 작성 36분
65. 09강 이론-버퍼, 대역폭, 송수신 버퍼의 개념과 네트워크에서 패킷의 흐름에 대한 설명 29분
66. 10강 이론-파일 업로드 프로토콜의 개념, 구조, 역할, 서버와 클라이언트 메시지 주고 받는 과정에 대한 설명 36분
67. 11강 이론-서버와 클라이언트가 같이 사용할 클래스 라이브러리 DLL 파일 만드는 과정 및 코드에 대한 설명 49분
68. 12강 실습-FUP 프로토콜을 만들 Message클래스, Header클래스 프로그램 작성 41분
69. 13강 실습-FUP 프로토콜을 만들 Body클래스 프로그램 작성 33분
70. 14강 실습-FUP 프로토콜을 만들 MessageUtil클래스 작성 후 프로젝트 빌드 후 FUP.dll파일 작성 확인 과정 30분
71. 15강 이론-파일 업로드 서버와 클라이언트를 만드는 순서와 코드, 실행에 대한 설명 47분
72. 16강 실습-파일 업로드 서버를 FUP 프로토콜을 이용하여 프로그램 작성 56분
73. 17강 실습-파일 전송 클라이언트를 FUP 프로토콜을 이용하여 프로그램 작성 45분
74. 01강 이론-DBMS, SQL 이해와 MySQL 설치하는 방법에 대한 설명 43분
75. 02강 실습-MySQL 설치, Path설정, Database 쿼리로 만들기 21분
76. 03강 이론-기본적인 SQL 구문, DML, DDL, DCL에 명령문에 대한 설명 42분
77. 04강 실습-create, select, update, delete, where 등 기본적 SQL문 실습 31분
78. 05강 이론-회원 가입 프로젝트 만들기 위한 윈폼 UI, 환경 설정 및 이벤트 코드 설명 35분
79. 06강 실습-회원 가입 프로젝트 만들기 실습-1 47분
80. 07강 실습-회원 가입 프로젝트 만들기 실습-2 43분