제약조건

    [C#] default와 new() 제약조건 사용하기

    generic 함수를 작성하는데, 기본 값을 생성해줘야 할 때가 있었다. 이 때 사용하게 되는 키워드가 new와 default다. 이 글에서는 class, struct 그리고 enum을 사용할 때 어떤 점을 주의해야 하는지 살펴보도록 하겠다. new와 default new는 generic 함수의 제약 조건이다. 해당 제약 조건을 걸면 generic 함수 내에서 new T()와 같은 코드를 사용할 수 있다. 이 제약 조건을 걸었을 경우 struct와 enum은 항상 사용가능하고, class는 구현에 따라 달라지게 된다. default는 C#의 기본 키워드로 제약 조건이 필요하지도 않고, 다른 많은 곳에서도 사용할 수 있는 기능이다. default를 각 타입에 사용할 경우 아래 표와 같은 값이 생성된다. t..