[C#] 제네릭 인터페이스(Generic Interface)
C#의 제네릭 인터페이스(Generic Interface) 1. 개념 정의 제네릭 인터페이스란, 인터페이스 정의 시 타입 매개변수(Generic Type Parameter) 를 지정하여 다양한 타입에 대해 일관된 계약(contract)을 제공할 수 있도록 만든 유형 일반화 인터페이스이다. public interface IRepository<...
C#의 제네릭 인터페이스(Generic Interface) 1. 개념 정의 제네릭 인터페이스란, 인터페이스 정의 시 타입 매개변수(Generic Type Parameter) 를 지정하여 다양한 타입에 대해 일관된 계약(contract)을 제공할 수 있도록 만든 유형 일반화 인터페이스이다. public interface IRepository<...
C#의 제네릭(Generic) 1. 개념 요약 제네릭(Generic) 은 클래스, 구조체, 인터페이스, 메서드 등에 대해 타입을 매개변수로 일반화(generalize) 하여 컴파일 타임에 타입을 지정할 수 있도록 하는 기능이다. public class List<T> { public void Add(T item) { /* ... ...
Unity 상태머신(State Machine) 구현 예시 1. 상태머신 개념 상태(State): 객체가 가질 수 있는 상태 (예: Idle, Move, Attack) 상태 전이(Transition): 상태가 다른 상태로 전환되는 규칙 상태별 로직: 각 상태마다 독립적으로 동작 수행 2. 상태머신 기본 구조 (클래스 기반) 2....
C# (Unity 기준) 인터페이스 문법 상세 설명 1. 인터페이스란? 메서드 시그니처(선언)만 정의 구현 내용은 클래스에서 담당 다중 상속 가능 객체 간 공통 동작 보장 “이런 기능은 있어야 한다”는 규칙/약속만 제공 2. 기본 문법 public interface IExample { void DoSomet...
1. PlantUML 개요와 다이어그램 작성 정보 1. PlantUML이란? UML 다이어그램을 코드 기반으로 작성하는 도구 텍스트 스크립트를 이용해 이미지 형태의 다이어그램 생성 Java 기반 도구로 웹, 로컬, IDE 플러그인 지원 @startuml ... 다이어그램 내용 ... @enduml 2. 클래스 다이어그램 예시...
SOLID 원칙이란 무엇인가? 객체지향 설계의 5대 원칙인 SOLID 원칙은 유지보수가 용이하고 확장 가능한 소프트웨어를 개발하는 데 중요한 가이드라인입니다. 이 원칙들은 각각의 약어로 구성되어 있으며, 로버트 C. 마틴(Robert C. Martin)이 제안한 개념입니다. 1. SRP - 단일 책임 원칙 (Single Responsibilit...
C# 패턴 매칭 정리 1. 개요 패턴 매칭(Pattern Matching)은 객체의 타입, 값, 구조 등을 기반으로 분기 로직을 작성할 수 있는 기능이다. 기존 if, switch 문보다 더 명확하고 간결하게 조건 분기를 구성할 수 있다. C# 7.0부터 도입되었으며, 이후 버전에서 점차 확장되었다. 2. 주요 패턴 종류 2.1 is 패턴 ...
Unity Material의 Surface Type: Opaque와 Transparent 비교 정리 Unity에서 Material의 Surface Type은 Opaque(불투명) 와 Transparent(투명) 로 나뉩니다. 이 설정은 렌더링 파이프라인과 쉐이더에 따라 표면의 렌더링 방식을 결정합니다. Surface Type이란? Surf...
컴파일러 최적화의 원리와 주요 영역 컴파일러는 소스 코드를 기계어로 변환하면서 성능을 향상시키기 위해 다양한 최적화 기법을 적용합니다. 컴파일러가 수행하는 최적화는 크게 코드 크기 감소, 실행 속도 향상, 메모리 사용 최적화로 나눌 수 있습니다. 아래는 일반적으로 컴파일러가 수행하는 주요 최적화 영역과 그 특징입니다. 컴파일러 최적화의 기본 개...
컴파일러와 프로그램 생성 과정 컴파일러는 고급 프로그래밍 언어로 작성된 소스 코드를 기계어 또는 중간 코드로 변환하는 소프트웨어입니다. 컴파일러의 주된 역할은 코드 변환, 최적화, 오류 검출 등을 통해 컴퓨터가 실행할 수 있는 프로그램을 생성하는 것입니다. 컴파일러란? 컴파일러(Compiler) 는 소스 코드를 기계어로 변환하여 실행 파일을 ...