new 키워드

new 키워드 (C# 참조)

new 키워드는 문맥에 따라 연산자(operator), 한정자(modifier), 제약 조건(constraint) 세 가지 역할로 쓰여요. 어느 자리에 놓이느냐에 따라 일을 하는 방식이 완전히 달라지는데, 각각을 하나씩 짚어볼게요.

출처: new keyword - C# Reference

본문

  • new operator — 객체를 새로 만들 때 쓰는 new예요. new MyClass()처럼 생성자를 호출해서 인스턴스를 만들어주죠.
  • new modifier — 파생 클래스에서 상속받은 멤버를 가려서(hide) 같은 이름으로 새로 정의할 때 붙이는 new예요. 부모가 가진 이름을 자식이 '내가 새로 정의한다'고 알리는 역할이죠.
  • new constraint — 제네릭 형식 매개변수에 '이 형식은 인자 없는 생성자를 가져야 한다'고 조건을 다는 new예요. where T : new()처럼 쓰죠.

언뜻 보면 같은 키워드인데 등장 위치마다 전혀 다른 의미를 갖는다는 점이 헷갈리기 쉬워요. 그래서 문서도 역할별로 나눠서 다루고 있어요. 지금 필요한 용도에 맞는 링크만 골라서 들어가보면 돼요.

더 알아보기