2. 학습 방향

1. 기본 접근 관점
프로그래밍 언어의 기초 문법(자료형, 연산자, 제어문, 함수, 예외 처리 등)은 대부분 순차적으로 학습할 수 있습니다.
그러나 이 단계를 지나 객체지향, 추상화, SOLID 원칙, 이벤트/대리자, 디자인 패턴과 같은 개념으로 넘어가면, 학
습은 단순한 순서 학습이 아닌 상호 유기적·순환적 학습(Spiral Learning)이 필요합니다.
객체지향 개념은 독립적으로 존재하지 않고,
추상화 → 캡슐화 → 다형성 → 상속/인터페이스 → SOLID 원칙 → 디자인 패턴 → 아치텍처 패턴 등이 서로 연결되어 있습니다.
따라서 한 번의 설명으로 끝나는 것이 아니라, 전체를 아우르는 지식을 먼저 접하고 다시 반복 복습하면서 점차 깊이 이해해야 합니다
2. OOP 등장배경 - 접근제어자, 프로퍼티
모든 기술은, 기존의 문제를 해결하고 좀 더 효율적인 방법을 위해 등장합니다.
OOP 등장 이전, 기존 프로그래밍(절차 지향)의 공용 데이터 문제점을 파악하고,
이를 OOP 학습에서
- 접근제어자, 정보 은닉, 유효성 검사
- 프로퍼티, Setter, getter
- 캡슐화
기법을 통해 어떻게 개선되는지 이해합니다.
3. 추상화 & SOLID - 인터페이스, 추상 클래스
A. 추상화 개념
C++에서 클래스, 상속, 가상함수를 학습했다면, 이제 C#에서는 추상화를 더 명확히 이해해야 합니다.
C#에서는 추상화 기법을 명확히 이해해야 합니다.
B. 추상화 & SOILD & 인터페이스, 추상 클래스
SOLID - 객체 지향의 5대 원칙
| 분류 | Eng. | Kor. |
| SRP | Single Responsibility Principle | 단일 책임 원칙 |
| OCP | Open-Closed Principle | 개방-폐쇄 원칙 |
| LSP | Liskov Substitution Principle | 리스코프 치환 원칙 |
| ISP | Interface Segregation Principle | 인터페이스 분리 원칙 |
| DIP | Dependency Inversion Principle | 의존성 역전 원칙 |
인터페이스, 추상 클래스와 추상 클래스는 교재의 이론적 학습만으로는 납득하기 어렵습니다.
인터페이스, 추상 클래스는 추상화, SOLID 원칙과 함께 학습합니다.
4. 대리자 & 이벤트
대리자의 개념 또한 추상화와, SOILD 원칙 개념을 확장시키는 이론입니다.
델리게이트 & 이벤트는 행위 추상화를 실현하며,
DIP(의존성 역전 원칙), Observer 패턴과 직접적으로 연결됩니다.
5. 그 외
Thread, Network, Winform, WPF, MVVM