배열과 리스트의 가장 큰 차이점은 '동적'으로 크기할당이 가능한가? 이다.
배열은 동적으로 크기 할당이 불가능하고
리스트는 가능하다.
처음 배열을 생성할 때 n개의 크기로 형성한다면 n개 이상의 크기로는 늘릴 수 없다는 것을 의미한다.
리스트는 Add, Remove 매서드를 이용해 크기를 자유롭게 조정할 수 있다.
그러면 리스트를 사용하는 것이 무조건 옳은 것일까? 그건 또 아니다.
배열(Array) | 연속된 메모리 공간으로 이루어져 있어 메모리 관리가 용이하다 | 배열의 값은 index로 이루어져 있어 빠르게 해당 값을 찾을 수 있다 | 동적할당이 불가능하다 |
리스트(List) | 포인터를 사용해 다음 데이터의 주소 값을 가지고 있기에 데이터 추가 삭제가 편리하다 | 포인터를 사용해 데이터 주소값을 가지고 있어야만 하기에 불필요한 메모리가 추가로 사용된다(비효율) | 리스트에는 인덱스가 없어 검색이 불리하다 |
해당 데이터를 할당 시 데이터의 크기가 정해져 있나 아닌가에 따라서 무엇을 사용할 것인지 판단해야 한다.
정해져있다면 배열을, 그렇지 않다면 리스트를 사용하는 것이 좋은 방법이다.
'코딩 > C#' 카테고리의 다른 글
c#에서 string 과 char의 차이점 (0) | 2023.11.12 |
---|---|
유니티를 위한 C# 기초 / 이벤트함수 실행순서 (0) | 2023.11.12 |
.NET Framework가 뭐지 (0) | 2023.11.10 |