본문 바로가기

TIL

[ 24.04.29 ] 내일배움캠프 11일차 TIL - 배열과 리스트, partial 키워드

[ ps ]

 

 

[ 백준 / C++ ] 1715 : 카드 정렬하기

[ 문제 ] 1715번: 카드 정렬하기 (acmicpc.net) [ 접근방법 ] <p style="color: #333333; text-align..

snowdolf99.tistory.com

 

[ 내일배움캠프 / Unity ]

 

배열은 정적인 크기를 갖고 메모리에 연속적으로 할당되며, 인덱스를 통해 빠르게 접근할 수 있다.

 

리스트는 동적인 크기 ( capacity ) 를 갖고, 메모리에 순서 상관없이 할당된다.

만약 capacity를 넘는 데이터를 저장해야 하면 ( capacity < size ), capacity를 2배로 수정한다 ( 4 → 8 → 16 → ... ) .

 

또한, 메모리에 순서 상관없이 할당되는 대신, 배열에 비해 데이터를 찾는 속도가 느리다.

리스트의 각 데이터는 다음 데이터의 위치를 저장하고 있고, 찾을 때에도 데이터를 타고 남어가면서 찾기 때문이다.

 

한편, C# 의 리스트는 배열을 기반으로 하되, 리스트의 동적 크기 및 다양한 기능을 제공한다.

 

팀 프로젝트에서 특정 클래스 (GameManager) 를 많이 수정해야 하는데,

이는 git merge 과정에서 conflict 를 유발할 수 있다.

 

따라서 이 클래스를 여러 파일로 나눴어야 했는데, 이 때 partial 라는 키워드를 사용했다.

partial 라는 키워드를 사용하면, 다른 파일에 작성한 코드들이 합쳐져서 하나의 클래스로 적용된다.

 

이를 통해 팀원간의 충돌을 최소화할 수 있다.