본문 바로가기
[C#] OnPropertyChanged 메서드 OnPropertyChanged 메서드는 C#에서 데이터 바인딩과 MVVM 패턴(Model-View-ViewModel)을 사용할 때 중요한 역할을 한다. 속성 값이 변경되었음을 알리는 역할을 하는 메서드이다. 특히 WPF, UWP와 같은 XAML 기반 UI 프레임 워크에서 데이터 바인딩을 사용할 때, 뷰(View)에 변경 사항을 자동으로 반영하기 위해 사용된다. 코드 예시class Player{ private string name; public string Name { get { return name; } set { name = value; OnPropertyChanged(); } } .. 2025. 6. 18.
[C#] ProcessStartInfo 클래스 ProcessStartInfo 클래스는 프로세스를 시작할 때 사용되는 정보를 포함하는 클래스입니다. 이 클래스는 프로세스의 이름, 인수, 작업 디렉토리, 우선순위 등 다양한 속성을 제공하여 프로세스를 시작하는 데 필요한 정보를 지정할 수 있다.ProcessStartInfo 클래스의 속성FileName: 시작할 프로세스의 이름을 지정합니다.Arguments: 프로세스에 전달할 인수를 지정합니다.WorkingDirectory: 프로세스의 작업 디렉토리를 지정합니다.PriorityClass: 프로세스의 우선순위를 지정합니다.WindowStyle: 프로세스의 창 스타일을 지정합니다.CreateNoWindow: 프로세스가 창을 생성하지 않도록 지정합니다.ProcessStartInfo 클래스의 사용 예시using .. 2025. 4. 10.
[C#] 프로퍼티(Property) / get, set 메서드 객체 지향 프로그램(OOP)에서 캡슐화(Encapsulation)는 객체의 필드와 메서드를 묶어, 실제 구현 내용 일부를 외부에 감추는 것을 의미한다.  c#에서도 클래스를 만들어 사용할 때 민감한 정보가 담긴 필드는 외부에서 함부로 읽고 쓰게 할 수 없게 하기 위해 은닉성 보장이 필요하다. 이를 위해 접근 제한자 private를 사용해 외부에서 접근하지 못하게 막아두는데, 이때 캡슐화된 필드를 메서드를 통해 부분적으로 외부에 들어나게 한다.public class Student1{ private string name; private int score; private void setName(string name) { this.name = name; } publi.. 2025. 1. 13.
[C#] 열거형 Enum 열거형 Enum열거형은 서로 관련 있는 상수들의 집합을 정의한 것 이다. 숫자에 특정한 명칭을 붙여주어 의미를 쉽게 이해할 수 있게 하는 용도로 사용된다. 예를 들어 프로그램에서 사과, 바나나, 오렌지의 세 과일을 사용하고 싶은데 각각 0, 1, 2라는 숫자를 부여한다면 나중에 1이 무엇을 의미하는지 이해하기 어려울 수 있다. // 0 == apple, 1 == banana, 2 == orangeint[] fruit = { 0, 1, 2 };  이럴 때 enum을 사용하면 보기 편한 코드를 작성할 수 있다.enum Fruit{ apple, // 0 banana, // 1 orange // 2}enum 사용법enum은 기본적으로 위에 Fruit 예시 처럼 enum 이름 { } 형태로 중.. 2024. 12. 16.
[C#] as, is 키워드 C#에서 형변환을 하기 위해서 캐스트 연산자를 사용한다. 캐스트 연산자 case 1.값을 변환할 때 사용되는 경우double d = 10.5;int i = (int)d;Console.WriteLine(d); // 10.5Console.WriteLine(i); // 10 캐스트 연산자 case 2.열거형에서 사용되는 경우enum City{ Seoul, Daejeon, Daegu, Busan}int busan = (int)City.Busan;Console.WriteLine(busan); // 3 캐스트 연산자 case 3.참조 형식의 형변환 경우private void button_click(object sender, EventArgs e){ MessageBox.Show((Butto.. 2024. 12. 12.
[C#] 연산자 오버로딩 (Operator Overloading) C#에는 연산자 오버로딩을 제공한다. 연산자 오버로딩이란?C#에서 제공하고 있는 연산자에 대해 기능을 다시 부여하는 것을 의미한다.기본 문법 형태는 public static [리턴속성] operator [연산자](매개변수1, 2) 이다. 예를 들어 이런 Person 이란 클래스가 있다고 가정을 할때 Person p1 = new Person();Person p2 = new Person();Console.WriteLine(p1 + p2); // Error 이런식으로 더하기를 하면 당연히 컴파일 오류가 발생할 것이다. 하지만 두 Person이 나이의 합을 반환하고 싶다면 어떻게 해야할까addPerson 이란 메서드를 만들어 addPerson(p1, p2) 이런식으로 사용 할 수 도 있지만두 사람의 나이가 아닌.. 2024. 12. 11.