본문 바로가기
반응형

class2

sealed를 왜 써야 할까? sealed는 **“상속 불가”**를 뜻해요.즉 public sealed class ImageGrabbedEventArgs : EventArgs 라면, 이 클래스를 다른 클래스가 상속(derive)할 수 없습니다.왜 쓰나요?설계 의도 고정: 이벤트 페이로드 형태를 바꾸지 않도록 방지(파생형으로 변형 금지).안전성: 파생 클래스가 동작을 바꾸어 역호환/버그를 유발하는 것을 차단.성능 이점: JIT가 가상 호출을 줄이고(inlining 등) 최적화할 여지가 생김.간단한 데이터 전달용(EventArgs 계열)은 보통 불변 + sealed로 두는 게 흔한 패턴.특징 요약sealed class → 상속 금지 (하지만 인터페이스 구현은 가능).sealed는 클래스에 붙이면 상속을 막고, 메서드에 붙이면 overri.. 2025. 9. 19.
C# Struct vs Class: 차이점과 최적 사용 사례 C#에서 struct와 class는 객체를 정의하는 데 사용되지만, 중요한 차이점이 있으며 각각 특정 상황에서 적합합니다. 이를 비교하고 언제 사용하는 것이 유리한지 설명하겠습니다.1. 주요 차이점특성 Struct Class기본 형식값 형식 (Value Type)참조 형식 (Reference Type)메모리 할당스택(Stack)힙(Heap)복사 방식값 복사 (deep copy)참조 복사 (shallow copy)상속상속 불가상속 가능기본 생성자기본 생성자를 정의할 수 없음기본 생성자를 정의할 수 있음Null 가능성기본적으로 Null이 될 수 없음Null 값을 가질 수 있음변경 가능성기본적으로 불변 (Immutable)가변적 (Mutable)2. Struct를 사용하는 경우가벼운 데이터 구조메모리 사용량이.. 2025. 1. 6.
반응형