본문 바로가기

개발💻/C#11

[C#] readonly와 const의 차이 【 C#에서 readonly와 const의 차이를 이해하기  】C#에서 상수를 다룰 때 우리는 흔히 const와 readonly라는 두 가지 키워드를 접하게 됩니다. 이 두 키워드는 값을 변경할 수 없다는 공통점을 가지고 있지만, 그 용도와 동작 방식에는 큰 차이가 있습니다. 그 차이를 명확히 이해하는 것은 성능 최적화, 유지보수성, 코드 가독성에서 큰 도움이 될 수 있습니다. 오늘은 const와 readonly의 차이점을 자세히 살펴보고, 어떤 상황에서 각각을 사용하는 것이 더 좋은지 알아보겠습니다. 【 값이 할당되는 시점: 컴파일 타임 vs 런타임 】가장 큰 차이점은 값이 결정되는 시점입니다.const는 컴파일 타임 상수입니다. 즉, 프로그램이 컴파일될 때 값이 확정되어야 합니다. const로 선언된.. 2024. 10. 5.
[C#] Coupling, Cohesion 1 【 결합도와 응집도의 중요성 】소프트웨어 설계에서 결합도(Coupling)와 응집도(Cohesion)는 모듈화와 관련하여 매우 중요한 개념시스템의 유지보수성, 확장성, 그리고 유연성을 좌우하는 핵심요소결합도는 낮을 수록 응집도는 높을 수록 이상적인 모듈화 【 결합도란 】 결합도 (Coupling)는 모듈과 모듈 사이의 의존 정도를 의미합니다. 경할도가 높으면 모듈 간의 상호작용이 복잡해지고, 하나의 모듈을 수정할 때 다른 모듈에도 영향을 미칠 가능성이 커집니다. 따라서 결합도는 낮을수록 좋으며, 이는 모듈 간의 독립성을 높여 시스템의 유연성을 증가합니다.결합도가 높은 클래스의 문제점연관된 다른 클래스가 변경되면 더불어 변경해야 된다.수정하려는 클래스를 파악하기 위해 다른 클래스를 함께 파악해야된다.클래스.. 2024. 8. 10.
[C#] Observer Pattern 1 옵저버 패턴1. 정의옵저버 패턴은 행동 디자인 패턴 중 하나로, 한 객체의 상태 변화가 다른 객체들에 의해 자동으로 감지되고 업데이트될 수 있도록 일대다 종속성을 정의합니다. 주로 분산 이벤트 처리 시스템을 구현할 때 사용됩니다. 주체(Subject)는 상태를 가지고 있으며, 옵저버(Observer)는 주체의 상태 변화를 감지하고 적절히 반응하는 객체들입니다.2. 사용 이유와 목적옵저버 패턴은 다음과 같은 상황에서 유용합니다:다수의 객체가 특정 객체의 상태 변화를 실시간으로 알아야 하는 경우: 예를 들어, 주식 가격 변동을 여러 클라이언트에게 실시간으로 알리고 싶을 때.동적인 의존성 관계가 필요한 경우: 객체들 간의 관계를 실행 중에 동적으로 설정하거나 변경해야 할 때.느슨한 결합을 유지하고 싶을 때: .. 2024. 7. 13.
[C#] Delegate 2 【 C# 이벤트와 델리게이트: Func과 Action 】1. 개요이벤트(Event): 특정 동작이나 상태의 변화를 나타내는 것. 사용자 인터페이스, 시스템 알림 등에서 자주 사용.델리게이트(Delegate): 메서드 참조를 저장하고 호출할 수 있는 타입. 메서드 포인터와 유사한 기능을 제공.2. 이벤트와 델리게이트의 차이이벤트:주로 UI, 시스템 이벤트 등에서 사용.event 키워드를 사용하여 선언.이벤트 핸들러는 델리게이트를 기반으로 하며, 이벤트는 해당 델리게이트를 통해 발생.public class Alarm{ public event Action OnAlarm; public void TriggerAlarm() { OnAlarm?.Invoke(); }} 델리게이트:메서.. 2024. 6. 24.