inflearn logo
강의

Course

Instructor

[MMORPG Game Development Series with C# and Unity] Part 1: Introduction to Basic C# Programming

Generic (generalization)

Generic에 대한 질문 있습니다.

95

ghkdqjffl9843

1 asked

0

class MyList<T>

{

T [] arr = new T[10];

}

 

이부분은 리스트가 아니라 배열로 만들어지는거 아닌가요?? 같은 방식으로 리스트를 만들려면

 

class MyList<T>

{

List<T> lists = new List<T>();

}

 

이렇게 만들어야 하는게 맞는건가요?

C#

Answer 2

0

Rookiss

List가 내부적으로는 배열로 되어 있습니다.
그래서 '동적 배열'인 것이죠.

List를 자체적으로 구현하는 연습을 하는 것이기 때문에,
배열로 구현하는 것이 맞습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 김성훈님께서 질문 주신 부분에 대해 설명드리겠습니다.

T [] arr = new T[10]; 와 List lists = new List(); 두 코드 모두 배열과 리스트의 차이점을 이해하는 데 중요합니다.

  1. 배열 (T[] arr):

    • 배열은 고정된 크기의 연속된 메모리 공간을 사용하여, 초기 생성 시 지정한 크기만큼의 메모리를 할당합니다.
    • 생성 후에는 배열의 크기를 변경할 수 없으며, T[] arr = new T[10];은 길이가 10인 배열을 만듭니다.
  2. 리스트 (List lists):

    • List는 시스템 컬렉션의 동적 배열로, 필요에 따라 크기를 가변적으로 조절할 수 있습니다.
    • C#의 List는 내부적으로 배열을 사용하지만, 항목을 추가하거나 제거할 때 자동으로 크기를 조정합니다. 따라서 코드에서 List lists = new List();는 필요한 만큼 항목을 추가할 수 있는 동적 리스트를 생성합니다.

따라서 질문에 있는 코드처럼 배열보다는 리스트를 사용하여 동적 데이터 관리가 필요할 때 List를 사용하는 것이 맞습니다. 배열과 리스트의 사용은 메모리 관리와 최대 크기 확장 가능성에 따라 선택하시면 됩니다.

위 내용과 비슷한 질문에 대한 추가 정보를 원하실 경우, 아래 링크를 참고해 주세요:
- “제네릭에대해서 질문이있습니다.”
- “질문이있습니다” - 다양한 타입에 제너릭 적용에 대한 설명이 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

201

2

다형성 캐시 문제

0

112

3

.

0

71

1

프로퍼티 강의 질문 있습니다.

0

78

1

이후 커리 질문

0

86

1

static

0

91

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

65

1

9:03 Divide(10 , 3) 부분 질문입니다

0

88

1

깃허브 관련 질문 있습니다.

0

239

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

306

2

Activator 질문있습니다

0

332

1

이넘 타임 선언 질문

0

346

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

249

1

팩토리얼 문제

0

270

1

Sort함수 질문있습니다.

0

265

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

226

1

섹션2 연습문제 질문입니다.

0

213

1

안녕하세요~서버에 대해 질문이 있습니다.

1

281

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

393

1

visual studio2022에서 c# 프로젝트 로드가 안됩니다

0

1158

3