All Pages
3. 캡슐화 - 접근 제어자
3. 캡슐화 - 접근 제어자
2025.04.011. 목표 → OOP는 왜 등장했을까?더보기1. 목표 문제점 파악: 기존의 절차 지향 프로그래밍(POP)의 한계와 문제점을 파악해결책 이해: 객체 지향 프로그래밍(OOP)의 문제 해결 방법 이해 2. 용어 캡슐화(Encapsulation) - OOP의 주요 특성접근 제어자(Access Modifier) - C# 프로그래밍 문법 3. 참고 자료https://youtu.be/zgeCwYWzK-k?si=rJFngC_y71cOcVSm 2. - 절차지향 문제점 → 시나리오 2개더보기1. 어느 함수에서나 접근 가능한 공유 데이터 문제#include int score = 100; // 전역 변수 사용 → 모든 함수가 직접 접근 가능함 (❗ 절차지향의 문제점 1: 전역 변수 남용)void addBonus..
2. OOP - 추상화, 클래스, 객체
2. OOP - 추상화, 클래스, 객체
2025.04.011. 현실에서 "추상"→ "네 말은 너무 추상적이야"더보기1. 목표프로그래밍의 추상화 개념에 앞서, 현실에서 "추상"이라는 단어가 사용된 예시들을 살펴보면서 "추상화"의 용어를 이해해 봅니다. 2. 예시1) "네 말은 너무 추상적이야"위 문장의 반대말은, "구체적"입니다. 2) 미술에서 추상화 기법을 찾아봅시다.현실 세계의 형태, 색, 선, 질감을 >> 변형하거나 단순화하여 감정, 개념, 또는 본질을 표현하는 방식입니다.반대 의미는, 구체적인 형상을 "사실적"으로 그려내는 것입니다. 3) 현실에서 멀리서 다가오는 친구의 구분해 봅시다.여러 사람 중 친구를 구분할 수 있다면, 그 기준은 친구만이 가진 "특징, 특성"이 기준일 것입니다. 4) 눈을 최대한 감고, 희미하게 뜬 상태에서 옆사람을 바라봅시다..
1. 프로그래밍 학습 관점
1. 프로그래밍 학습 관점
2025.03.301. 목적 → "프로그래밍 언어"와 "개발 기술"은 프로그램을 만들기 위한 것입니다.더보기- 프로그래밍은 학생, 초보자, 신입를 고려한 교육과 학문의 영역이 아닙니다. "프로그래밍"은 '프로그램'을 만들기 위해 등장했습니다.그리고 좀 더 효율적으로 프로그램을 만들기 위해, 기술을 개선하고, 새로운 기술이 등장합니다. 여러분이 배워야 할 프로그래밍 기술은 "현장의 개발자"를 위한 참고자료 입니다.초보자를 위한 것이 아닙니다. 2. 을 만들어야 합니다.→ 이론 학습 >> 실습 >> 체득더보기- 프로그래밍 문법은, 실제 프로그램을 만드는 방법이 아닙니다. 영어 문법만 열심히 공부했다고 해서, 영어 소설을 쓰고, 영어 에세이를 쓰고, 영어 연설을 할 수 있을까요?혹시 가능하다면, 그건 우리가 한글..
12. Command - CanExecute
12. Command - CanExecute
2025.03.281. View (1단계) 더보기 Title="ICommand Example" Height="100" Width="300"> 2. ViewModel (1단계)더보기public class MainViewModel{ // // 사용자로부터 입력받은 텍스트를 저장하는 프로퍼티입니다. // private string _inputText; public string InputText { get => _inputText; ..
11. Command
11. Command
2025.03.2801. Command 이론더보기01.1 ICommand 사용 방법 (1) ViewModel 에 ICommand 구현체를 만들고, 원하는 '메서드'를 등록합니다.MyCommand cmd = new MyCommand(메서드);(2) View에 ICommand 구현체인 cmd를 바인딩 합니다. 01.2 ICommand- 목적: XAML 코드 비하인드가 아닌, 별도의 ViewModel 클래스 파일에서 로직 함수를 구현합니다.- 방법: ICommand 인터페이스의 Execute( ) 함수의 구현부에, 이벤트 핸들러 로직을 구현해 대신 사용할 수 있습니다. 01.3 ICommandICommand는 WPF 컨트롤의 Command 속성에 Binding 하기 위해 사용합니다.위순서도는 ICommand의 동..
10. DataContext
10. DataContext
2025.03.271. DataContext 사전 학습 더보기1) DataBinding, 2) SOLID 를 학습했다는 가정하에 진행합니다. 2. DataContext 실습 예제더보기이전 DataBinding 예제를 사용합니다. 3. OOP 구조더보기1. 목적 가장 먼저, OOP(객체 지향 프로그래밍 언어)의 객체간 구조에 대해 이해하고 진행합니다. 2. 모든 프로그램의 시작점 C# WPF Main( ) 함수는 어디에 있을까요?모든 프로그램의 시작은, Main( ) 함수입니다. 3. OOP란? >> 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(object)'라는 기본 단위로 나누고 이들의 상호 작용으로 서술하는 방식이다. *객체(object)는 Class 라는 자..
4. Data Binding 예제
4. Data Binding 예제
2025.03.221. 예제 파일 준비더보기이전 포스트에서 작업했다면, 아래 파일은 필요 없습니다.2. Two Way 더보기1. 개념 1. Two Way 데이터 바인딩이란?[ C# 소스코드→ XAML UI ], [ XAML UI → C# 소스코드 ] 양방향으로 할당(수정) 가능한 설정이다. 2. Data Binding. 데이터 바인딩.>> Data를 UI와 묶는다.>> Data(원본), UI(복사본, 원본에 종속된 상태)>> 원본을 변경하면, 복사본이 변경된다.>> 복사본을 변경하면, 원본이 변경된다. 2. Two Way 데이터 바인딩 구현 3. Two Way (C# 소스코드에서 UI로, UI에서 C# 소스코드)로 데이터 바인딩 3. One Way더보기1. 개념 1. One Way 데이터 바인딩이란?데이터의 ..
3. Data Binding 개요
3. Data Binding 개요
2025.03.221. 목표더보기1.- 우선 MVVM 패턴을 고려하지 않고, DataBinding 개념과 사용법 자체에 집중하고, 이후 추가적인 개념으로 확장합니다.- DataBinding 에서 TwoWay, OneWay 개념을 먼저 이해합니다. 2. 참고1Data Binding C# 소스코드 → XAML UI(원본 → 복사본) XAML UI → C# 소스코드(복사본 → 원본)TwoWayOOOneWayOXOneWayToSourceXOOneTimeO X 3. 참고2 2. UI 준비더보기1. 기본 XAML UI 틀을 가진 프로젝트를 다운받아 실행합니다. 2. 새 WPF 프로젝트에서 "아래 XAML 소스"를 사용하셔도 됩니다. Title="Data Binding" Height="150" Width="265"..
2. Data Binding - Model
2. Data Binding - Model
2025.03.221. Data, Class, Model더보기1. 프로그래밍 그리고, 언제나 하는 말이지만, 프로그램은 '데이터'와 '로직' 단, 2가지만 존재합니다.이 중, 데이터는 자료형이라는 기준으로 관리됩니다. 2. 자료형 자료형을 사용하는 이유와 원리는 생략하고, 자료형의 종류에 대해 살펴봅니다. 1. 기본 자료형2. 복합 자료형3. 사용자 정의 자료형 (Enum, Struct, Class, Model) 3. 사용자 정의 자료형 기본 자료형은, 데이터 하나를 다룹니다.복합 자료형은, 데이터 여러 개를 다룹니다.사용자 정의 자료형은, 사용자가 원하는 여러 종류의 자료형 여러 개를 조합해 다룹니다. 4. 용어 객체지향 프로그래밍 언어에서, 사용자 정의 자료형을 Class 라고 합니다.Class는 기본..
1. Data Binding - 데이터와 추상화 개요
1. Data Binding - 데이터와 추상화 개요
2025.03.211. "데이터"를 이해해야 하는 이유더보기1. 용어 기술을 배울때 가장 먼저 해야 하는 것은기술 용어의 단어 하나하나의 의미를영어사전, 한자사전에서사전적 정의와 의미를 살펴보아야합니다. DataBinding(데이터 바인딩)은, 용어 그대로 Data를 Binding하는 기술입니다. 그렇기에, 프로그래밍에서 Data 라는 것을 이해하고 있다면, DataBinding은 어렵지 않은 기술입니다.반대로, 프로그래밍에서의 Data를 설명할 수 없다면, Data Binding도 이해하지 못합니다. 2. 목표 1)프로그래밍과, 2)추상화, 3)데이터에 대해 이해합니다.데이터와 4)자료형, 5)프로퍼티, 6)모델로 지칭되는 용어와 관계를 이해합니다. 2. "추상화"를 이해해야 하는 이유더보기1. 용어 WPF, IOS,..
47. WPF Binding
47. WPF Binding
2025.03.181.더보기1. 2. 3. 4. 5.x:Name="predictionsListView" 6.predictionsListView.ItemsSource = predictions; 7. 2.더보기
46. WPF - Json Deserialize Object
46. WPF - Json Deserialize Object
2025.03.171.더보기 2.더보기1.// Json 형태를 살펴보면, Prediction 객체가 3개와 객체별 속성값들이 있다. 2./* * JsonConvert.DeserializeObject(responseString) → CustomVision 객체로 변환 * * JsonConvert는 Newtonsoft.Json 라이브러리의 클래스 * DeserializeObject(string value): JSON 문자열(responseString) >> C# 객체(CustomVision) 변환 * responseString이 JSON 형식의 문자열이라면, CustomVision 타입 객체로 변환 * * * .predictions → List 타입의 예측 결과 리스트 추출 * (CustomVision 클래스 내부에 p..