• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

제네릭에대해서 질문이있습니다.

21.06.23 17:52 작성 조회수 258

1

다른건 다 이해를했는데 

class MyList<T> where T : new() 

에서 이해가안갑니다.

반드시 어떠한 인자를 받지않는 기본생성자가 있어야된다는 조건을 넣을수있다는게 이해가안갑니다.. 

제가지금 테스트할떄는 생성자가없어도 잘되는데 ..

뭐가문제인지 잘이해가안갑니다.

답변 1

답변을 작성해보세요.

8

제가지금 테스트할떄는 생성자가없어도 잘되는데 ..

<< 이 부분이 함정입니다.
생성자가 없어도 잘 되는 것 같지만 사실 생성자가 있는 것입니다!
어떤 class를 만들고 별도로 생성자를 따로 만들지 않으면,
기본 생성자가 내부적으로 알아서 만들어집니다.
반면 기본 생성자가 아닌 (ex. int를 하나를 받는) 다른 생성자를 만들면,
기본 생성자가 자동으로 만들어지지 않습니다.



위와 같은 테스트를 해보시기 바랍니다.

이렇게 바꾸면 다시 컴파일이 됩니다.


아하 이해했습니다 ㅎㅎ ! 감사합니다 !